home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 1 / Amiga Tools.iso / egs-tools / egs_dev-disk / egsdocs / egs.doc < prev    next >
Encoding:
Text File  |  1994-06-06  |  72.9 KB  |  2,838 lines

  1. TABLE OF CONTENTS
  2.  
  3. egs.library/--background--
  4. egs.library/--bitmap driver--
  5. egs.library/--display driver--
  6. egs.library/--oop in egs--
  7. egs.library/--video routing--
  8. egs.library/E_ActivateAmigaScreen
  9. egs.library/E_ActivateEGSScreen
  10. egs.library/E_AddClassMethod
  11. egs.library/E_AddMethod
  12. egs.library/E_AddMonitorSpec
  13. egs.library/E_AddPublicClass
  14. egs.library/E_AddPublicVideoNode
  15. egs.library/E_AddScreenMode
  16. egs.library/E_AddVideoLink
  17. egs.library/E_AllocBitMap
  18. egs.library/E_AllocBitMapClass
  19. egs.library/E_AllocBitMapFrame
  20. egs.library/E_AllocEMem
  21. egs.library/E_CanDisplayOnMonitor
  22. egs.library/E_ChangeMonitorSpecTagList
  23. egs.library/E_ChangeScreenParamTagList
  24. egs.library/E_ChangeScreenSpecTagList
  25. egs.library/E_ClearBitMap
  26. egs.library/E_CloseScreen
  27. egs.library/E_CreateEMemPool
  28. egs.library/E_CreateMonitorSpecTagList
  29. egs.library/E_CreateObject
  30. egs.library/E_CreateObjectMsg
  31. egs.library/E_CreateScreenParamTagList
  32. egs.library/E_CreateScreenSpecTagList
  33. egs.library/E_CreateSubClass
  34. egs.library/E_CrossMouseBorder
  35. egs.library/E_DefinePublicObject
  36. egs.library/E_DeleteEMemPool
  37. egs.library/E_DeleteMonitorSpec
  38. egs.library/E_DeleteObject
  39. egs.library/E_DeleteScreenParam
  40. egs.library/E_DeleteScreenSpec
  41. egs.library/E_Dispatch
  42. egs.library/E_DispatchClass
  43. egs.library/E_DisposeBitMap
  44. egs.library/E_DisposeBitMapFrame
  45. egs.library/E_FindPublicVideoNode
  46. egs.library/E_FlipMap
  47. egs.library/E_FreeEMem
  48. egs.library/E_GetClassMethod
  49. egs.library/E_GetHardInfo
  50. egs.library/E_GetRGB8
  51. egs.library/E_GetRGB8CM
  52. egs.library/E_GetRealTimings
  53. egs.library/E_GetSymName
  54. egs.library/E_GetSymbol
  55. egs.library/E_LoadDriver
  56. egs.library/E_LoadMonitorPrefs
  57. egs.library/E_LockEGSVideo
  58. egs.library/E_ModifyEDCMP
  59. egs.library/E_ModifyMouse
  60. egs.library/E_MouseOff
  61. egs.library/E_MouseOffRect
  62. egs.library/E_MouseOn
  63. egs.library/E_MoveMouse
  64. egs.library/E_NewMapType
  65. egs.library/E_ObtainClass
  66. egs.library/E_ObtainMonitorSpec
  67. egs.library/E_ObtainObject
  68. egs.library/E_ObtainObjectClass
  69. egs.library/E_ObtainPublicClass
  70. egs.library/E_ObtainPublicObject
  71. egs.library/E_ObtainScreenSpec
  72. egs.library/E_OldWaitTOF
  73. egs.library/E_OpenScreen
  74. egs.library/E_OpenScreenTagList
  75. egs.library/E_ReleaseClass
  76. egs.library/E_ReleaseMonitorSpec
  77. egs.library/E_ReleasePublicObject
  78. egs.library/E_ReleaseScreenSpec
  79. egs.library/E_ReloadPrefs
  80. egs.library/E_RemMonitorSpec
  81. egs.library/E_RemVideoLink
  82. egs.library/E_RenameMonitorSpec
  83. egs.library/E_ResetMouseExcept
  84. egs.library/E_SaveMonitorPrefs
  85. egs.library/E_SaveMonitorSpec
  86. egs.library/E_ScreenToBack
  87. egs.library/E_ScreenToFront
  88. egs.library/E_SendEGSMsg
  89. egs.library/E_SetMouseExcept
  90. egs.library/E_SetRGB8
  91. egs.library/E_SetRGB8CM
  92. egs.library/E_SetUserFocus
  93. egs.library/E_UnlockEGSVideo
  94. egs.library/E_WaitTOF
  95. egs.library/E_WhichMonitor
  96. egs.library/E_WhichScreen
  97. egs.library/E_isSubClass
  98. egs.library/E_isSubType
  99. egs.library/--background--                         egs.library/--background--
  100.  
  101.  EGS is a fully retargetable 24 bit window system for the Amiga. It consists
  102.  of trditional amiga shared libraries and objectoriented elements like
  103.  classes and objects.
  104.  
  105.  The egs.library is the lowest library based level of egs. Everything below
  106.  is a driver and may only be used for board developer specific goals.
  107.  
  108.  This library represents the graphic and event base of the EGS system. It
  109.  also serves as the lowest level of the resource manager. The third
  110.  important feature of it is the basic support of oop for egs.
  111.  
  112.  The EGS library manages two important graphic resources, the "BitMap" and
  113.  the "Screen".
  114.  
  115.  A "BitMap" is an structure that abstracts from the actual way in which
  116.  graphics data is structured and stored for a specific display hardware. EGS
  117.  supports several standard bitmap types, like "Chunky" or "Planar" and also
  118.  customer defined bitmap types. A programm may access a bitmap in two
  119.  different ways. First and better, using the rendering functions of egs.
  120.  This will work on any bitmap type or depth. Second, by direct accessing the
  121.  bitmap data. This is only permited for standard bitmap types (except of the
  122.  drivers themself), and may include some arbitration routines.
  123.  
  124.  A "Screen" is an abstract handle for a displayable bitmap. And also the
  125.  basic way to revceive user input. An "EScreen" (the egs.library style
  126.  screen) combines a bitmap, a mouse cursor a message port for user input, a
  127.  colormap (for non true color modes) and the display driver data, describing
  128.  the displaymode.
  129.  
  130. egs.library/--bitmap driver--                   egs.library/--bitmap driver--
  131.  
  132.  
  133. egs.library/--display driver--                 egs.library/--display driver--
  134.  
  135.  
  136. egs.library/--oop in egs--                         egs.library/--oop in egs--
  137.  
  138.  EGS uses objectorientet technics in several ways. The EGS object system is
  139.  a partially typed, class based object system, including polymorphism, late
  140.  binding inheritance and message based communication. It is an transparent
  141.  extension to existing structures.
  142.  
  143.  An EGS object is a traditional structure, extended by a pointer to its class
  144.  at offset minus four. An EGS class is an object itself, and has its own
  145.  class called a metaclass (same as in Smalltalk).
  146.  
  147.  The rootclass of the system is the objectclass ("Object.class"). The
  148.  metaclass of the rootclass and the ancestor of all metaclasses is the
  149.  classclass ("Class.class"). The class of the classclass is the objectclass.
  150.  
  151.  New classes can be created by inheriting of an existing class. The new class
  152.  may be modified, to fit its new requirements. Every class except of the
  153.  objectclass has exactly one direct superclass (single inheritance).
  154.  
  155.  The EGS object system is based on symbols. These symbols are a unique
  156.  representation of a string. They can be converted to and from string by
  157.  library functions. If two strings are equal (character by character), they
  158.  yield the same symbol. These symbols contain a hash value for their
  159.  represented string, and are used for dictionaries and method dispatching.
  160.  
  161.  Objects communicate by sending messages to other objects. These are no exec
  162.  messages, instead they are dispatched into method calls for the receiver.
  163.  The type of the message (e.g. WritePixel) is defined by a symbol. The
  164.  dispatching is done by the EGS library.
  165.  
  166.  A class contains a dictionary of methods. The EGS library looks up the
  167.  symbol on a method dispatch and branches to the selected method. No method
  168.  dispatching has to be done by user code. The method dictionaries are self
  169.  optimizing by reorganizing entries is in the hash chain.
  170.  
  171.  Every method slot consists of two elements, the function pointer to the
  172.  routine itself and an user specific data element, for method data (e.g.
  173.  could be used for global data basepointers like a4). A method is called
  174.  with a pointer to the message in a2, and the method specific data in a1.
  175.  _All_ registers are scratch _except_ a4 and a7.
  176.  
  177.  Some EGS structures offer a different way for method dispatching. This is
  178.  appropriate, if the base type of the object is sure (like E_EBitMap in
  179.  egsblit), and high performance is requiered. These structures maintain a
  180.  jump table which may be directly used to reach a method. If you use this
  181.  shortcut, make sure, that your registers are scratch, and the message is
  182.  fully initialized (especially the self field which is normally initialized
  183.  by the dispatcher).
  184.  
  185. egs.library/--video routing--                   egs.library/--video routing--
  186.  
  187.  
  188. egs.library/E_ActivateAmigaScreen           egs.library/E_ActivateAmigaScreen
  189.  
  190.    NAME
  191.     E_ActivateAmigaScreen -- Activate the original amiga screen.
  192.  
  193.    SYNOPSIS
  194.     E_ActivateAmigaScreen()
  195.  
  196.  
  197.     void E_ActivateAmigaScreen(void)
  198.  
  199.    FUNCTION
  200.     Activates the original amiga screen, moving it to front if both
  201.     sources have the same output. Also reactivates the amiga mouse, and
  202.     redirects input to it. This function has no effect if the amiga
  203.     screen is allready active.
  204.  
  205.    INPUTS
  206.  
  207.    RESULT
  208.  
  209.    SEE ALSO
  210.  
  211.  
  212. egs.library/E_ActivateEGSScreen               egs.library/E_ActivateEGSScreen
  213.  
  214.    NAME
  215.     E_ActivateEGSScreen -- Activates the EGS screen.
  216.  
  217.    SYNOPSIS
  218.     E_ActivateEGSScreen()
  219.  
  220.  
  221.     void E_ActivateEGSScreen(void)
  222.  
  223.    FUNCTION
  224.     Activates the EGS screen, moving it to front if both sources have the
  225.     same output. Also activates the EGS mouse, and redirects input
  226.     (mouse, keyboard, diskchanges etc.) to it. This function has no
  227.     effect, if no EGS screen is open, or the EGS screen is already
  228.     active.
  229.  
  230.    INPUTS
  231.  
  232.    RESULT
  233.  
  234.    SEE ALSO
  235.  
  236.  
  237. egs.library/E_AddClassMethod                     egs.library/E_AddClassMethod
  238.  
  239.    NAME
  240.     E_AddClassMethod -- Add or change a classmethod to a class
  241.  
  242.    SYNOPSIS
  243.     E_AddClassMethod(class, name, call, data)
  244.                      A0     D0    A1    A2
  245.  
  246.     void E_AddClassMethod(E_EGSClassPtr, E_Symbol, E_EGSCall, APTR)
  247.  
  248.    FUNCTION
  249.     Add a class method to an existing class. The method may then be
  250.     invoked by any user of that class. You should not change classes that
  251.     you did not create. Class methods are not methods of the objects of a
  252.     class, they are the methods of the class itself. Using class methods
  253.     you can change the behaviour of a class. You can also use this
  254.     function to change an existing method (inherited or not).
  255.  
  256.     You can use this call to change the "addMethod" method of your class
  257.     and implement a static typed changing scheme like in the
  258.     E_EGSBitMapClass.
  259.  
  260.     The method code will be called like any EGSMethod, with a pointer to
  261.     the message in A2 and your private date in A1.
  262.  
  263.    INPUTS
  264.     class        - the class you want to change
  265.     name         - a symbol giving the name of the method you want to
  266.                work on.
  267.     call         - a pointer to the function that implements the method
  268.     data         - any data you need for your method. You get this back
  269.                in A1 when your function is called.
  270.  
  271.    RESULT
  272.  
  273.    SEE ALSO
  274.     E_AddMethod(), E_CreateSubClass(), E_Dispatch(), E_DispatchClass(),
  275.     E_GetClassMethod()
  276.  
  277.  
  278. egs.library/E_AddMethod                               egs.library/E_AddMethod
  279.  
  280.    NAME
  281.     E_AddMethod -- Add or change a method of a class
  282.  
  283.    SYNOPSIS
  284.     E_AddMethod(class, name, call, data)
  285.                 A0     D0    A1    A2
  286.  
  287.     void E_AddMethod(E_EGSClassPtr, E_Symbol, E_EGSCall, APTR)
  288.  
  289.    FUNCTION
  290.     Add or change a method to an existing class. The method may then be
  291.     invoked by any user of an object (including existing ones) of this
  292.     class. The method will normaly be invoked by a call to E_Dispatch().
  293.     The call will be included in the class's dispatching table. If the
  294.     class implements a static typed caching scheme, your method will also
  295.     be put into the class container.
  296.  
  297.     The method code will be called with a pointer to the message
  298.     structure in A2 and your private data in A1. All registers except of
  299.     A4 and A7 are scratch inside your method code.
  300.  
  301.    INPUTS
  302.     class        - the class you want to change
  303.     name         - a symbol giving the name of the method you want to
  304.                work on.
  305.     call         - a pointer to the function that implements the method
  306.     data         - any data you need for your method. You get this back
  307.                in A1 when your function is called.
  308.  
  309.    RESULT
  310.  
  311.    SEE ALSO
  312.     E_AddClassMethod(), E_CreateSubClass(), E_Dispatch(),
  313.     E_DispatchClass()
  314.  
  315.  
  316. egs.library/E_AddMonitorSpec                     egs.library/E_AddMonitorSpec
  317.  
  318.    NAME
  319.     E_AddMonitorSpec -- Add a monitor spec. to a display dirver
  320.  
  321.    SYNOPSIS
  322.     E_AddMonitorSpec(driver, monitor)
  323.                      A0      A1
  324.  
  325.     void E_AddMonitorSpec(E_DisplayDriverPtr, E_MonitorSpecPtr)
  326.  
  327.    FUNCTION
  328.     Adds a monitor specification to a display driver. It has to be fully
  329.     initialized and valid at this moment. You may change it afterwards
  330.     using the appropriate functions. The driver will be informed to
  331.     change its screenmodes.
  332.  
  333.     A list of all public available screenmodes can be found in the
  334.     E_HardInfo structure.
  335.  
  336.    INPUTS
  337.     driver       - the display driver you want to change
  338.     monitor      - a valid monitor specification
  339.  
  340.    RESULT
  341.  
  342.    SEE ALSO
  343.     E_CreateMonitorSpecTagList(), E_RemMonitorSpec(),
  344.     E_ChangeMonitorSpecTagList(), E_DeleteMonitorSpec(),
  345.     E_CreateScreenSpecTagList(), E_DeleteScreenSpec()
  346.  
  347.  
  348. egs.library/E_AddPublicClass                     egs.library/E_AddPublicClass
  349.  
  350.    NAME
  351.     E_AddPublicClass -- Add a public class to the system
  352.  
  353.    SYNOPSIS
  354.     E_AddPublicClass(class, name)
  355.                      A0     D0
  356.  
  357.     BOOL E_AddPublicClass(E_EGSClassPtr, E_Symbol)
  358.  
  359.    FUNCTION
  360.     Adds a public class to the system. The class is then available to
  361.     other class users/implementors. You should not change a class that
  362.     has been made public. Public classes are vital to the system, and
  363.     can not be replaced. If you need a place for replaceable public
  364.     classes, this is what public objects are for (all classes in EGS are
  365.     also public objects).
  366.  
  367.     Examples for public classes are basic bitmap classes (like
  368.     "ChunkyMap8.class") or basic system classes (like "Blanker.class").
  369.  
  370.     Classes that are only good for your own purpose should be kept
  371.     private. Classes that may be replaced by other classes should be
  372.     stored and accessed as public objects. A class may be both a public
  373.     class and a public object (like the Blanker.class).
  374.  
  375.    INPUTS
  376.     class        - the class you want to make public
  377.     name         - a symbol giving the public name of this class
  378.  
  379.    RESULT
  380.     TRUE, if the call succeeded, FALSE if the call failed, this happens
  381.     if a class with this name is already public in the system.
  382.  
  383.    BUGS
  384.     Public classes are currently not removeable. They will stay in the
  385.     system for ever (or better titl the next boot).
  386.  
  387.    SEE ALSO
  388.     E_ObtainPublicClass(), E_DefinePublicObject(),
  389.     E_ObtainPublicObject(), E_ReleaseClass(), E_ReleasePublicObject()
  390.  
  391.  
  392. egs.library/E_AddPublicVideoNode             egs.library/E_AddPublicVideoNode
  393.  
  394.    NAME
  395.     E_AddPublicVideoNode -- Make a video node public to the system
  396.  
  397.    SYNOPSIS
  398.     E_AddPublicVideoNode(node)
  399.                          A0
  400.  
  401.     BOOL E_AddPublicVideoNode(E_VideoNodePtr)
  402.  
  403.    FUNCTION
  404.     Adds a video node to the pool of public video nodes. These should
  405.     only be done for long time nodes, like monitors or displaydrivers.
  406.     Screens and other private nodes should be kept private. You may use
  407.     public objects to share them between aplications.
  408.  
  409.    INPUTS
  410.     node         - the node you want to make public. The name field
  411.                of the node has to be initialized with the nodes
  412.                name.
  413.  
  414.    RESULT
  415.     TRUE, if the call succeeded, FALSE if the call failed, this happens
  416.     if a node with this name is already public in the system.
  417.  
  418.    BUGS
  419.     A public video node can currently not be removed.
  420.  
  421.    SEE ALSO
  422.     E_DefinePublicObject(), E_FindPublicVideoNode()
  423.  
  424.  
  425. egs.library/E_AddScreenMode                       egs.library/E_AddScreenMode
  426.  
  427.    NAME
  428.     E_AddScreenMode -- add a screenmode to the system list
  429.  
  430.    SYNOPSIS
  431.     E_AddScreenMode(mode)
  432.                     A0
  433.  
  434.     BOOL E_AddScreenMode(E_ScreenModePtr)
  435.  
  436.    FUNCTION
  437.     Adds a screenmode to the list of system screenmodes. This call is
  438.     typically called by a displaydriver that is not based on the egs
  439.     display database. The screenmode must be valid and correct
  440.     initialized. It may be extended with private driver data. The driver
  441.     will get the same pointer back, when it is invoked to open a screen.
  442.  
  443.     Drivers that use the EGS display database should not call this
  444.     function. They should build and add their screenmodes by a call to
  445.     E_LoadMonitorPrefs().
  446.  
  447.    INPUTS
  448.     mode         - an initialized E_ScreenMode structure. At least this
  449.                fields have to be initialized: node->Name, Horiz,
  450.                Vert, Depths, Driver. All param fields have to be
  451.                either NULL, or should point to a valid screen param
  452.                structure.
  453.  
  454.    RESULT
  455.     TRUE, if the call succeeded, FALSE if the call failed, this happens
  456.     if a screenmode with this name is already public in the system.
  457.  
  458.    SEE ALSO
  459.     E_LoadMonitorPrefs(), E_GetHardInfo(), E_OpenScreen()
  460.  
  461.  
  462. egs.library/E_AddVideoLink                         egs.library/E_AddVideoLink
  463.  
  464.    NAME
  465.     E_AddVideoLink -- Add a link between two video nodes
  466.  
  467.    SYNOPSIS
  468.     E_AddVideoLink(from, to)
  469.                    A0    A1
  470.  
  471.     void E_AddVideoLink(E_VideoNodePtr, E_VideoNodePtr)
  472.  
  473.    FUNCTION
  474.     Connects two video nodes with a directed link. This is typically done
  475.     by the EGSConfig program during startup. It is also used to add newly
  476.     created screens to the screen multiplexer of a display driver.
  477.  
  478.    INPUTS
  479.     from         - the node where the video signal comes from. This node
  480.                has to be able to suply video.
  481.     to           - the node where the video signal goes to. This node
  482.                has to be able to receive video.
  483.  
  484.    RESULT
  485.  
  486.    BUGS
  487.     Should have a return value for success indication.
  488.  
  489.    SEE ALSO
  490.     E_RemVideoLink(), E_AddPublicVideoNode(), E_WhichMonitor(),
  491.     E_WhichScreen()
  492.  
  493.  
  494. egs.library/E_AllocBitMap                           egs.library/E_AllocBitMap
  495.  
  496.    NAME
  497.     E_AllocBitMap -- Allocates and initializes bitmap structure and planes...
  498.  
  499.    SYNOPSIS
  500.     E_AllocBitMap(width, height, depth, type, flags, friend)
  501.                   D0     D1      D2     D3    D4     A0
  502.  
  503.     E_EBitMapPtr E_AllocBitMap(UWORD, UWORD, UWORD, ULONG, ULONG, E_EBitMapPtr)
  504.  
  505.    FUNCTION
  506.     Allocates display or clipping memory. Creates a bitmap structure and
  507.     allocates the needed memory. The structure is initialized. The
  508.     bitmaps are not cleared. The function allocates display or clipping
  509.     (in fast mem) memory, depending on the type. If a friend bitmap is
  510.     supplied the library determines the type out of this bitmap.
  511.  
  512.     The EGS memory management regards graphics memory as an important
  513.     resource. Therefore memory segments are moved in their address
  514.     location when necessary in order to gain big consecutive segments.
  515.     To prevent memory from being tugged away right under your feet,
  516.     memory must be locked before access. For this topic refer to
  517.     E_EMemNode structure in the includes.
  518.  
  519.     If the system is equipped with virtuell memory, the function may
  520.     allocate huge clipping areas in the virtuell memory area.
  521.  
  522.    WARNING
  523.     You should not pass a friend bitmap, if you want to allocate a mask
  524.     bitmap or a 24 bit bitmap. Their may be no bitmap class of the same
  525.     type with the requiered depth. So for all normal purposes, you
  526.     should give friend->Depth as the depth argument, if you allocate a
  527.     friend bitmap.
  528.  
  529.     If you allocate with a friend bitmap it is not save to assume that
  530.     the resulting bitmap is the same as the friend. It will typically be
  531.     a bitmap of the same family, but not of the same class.
  532.  
  533.    NOTE
  534.     If you call this function from a task (not a DOS process) it may
  535.     fail, although the requiered bitmap class may be available from disk.
  536.     If you want to be sure, that you can allocate a bitmap from a task,
  537.     you should obtain the bitmap class from a process and call
  538.     E_AllocBitMapClass() from within the task.
  539.  
  540.    INPUTS
  541.     width, height - Dimensions of required bitmap
  542.     depth         - Depth of required bitmap
  543.     type          - Type of bitmap (which format etc.)
  544.     flags         - properties of the bitmap (fastmem/graphicsmem etc.)
  545.     friend        - friend bitmap or NULL. The class of a friend
  546.             bitmap determines the type of the created bitmap. If
  547.             you need a bitmap for double buffering, you should
  548.             give the screens bitmap as friend, and allocate with
  549.             E_EB_DISPLAYABLE. If you need a bitmap for clipping,
  550.             caching or prerendering, you will also allocate a
  551.             friend bitmap.
  552.  
  553.    RESULT
  554.     Inititialized bitmap if successfull, NULL else.
  555.  
  556.    SEE ALSO
  557.     E_AllocBitMapClass(), E_AllocBitMapFrame(), E_DisposeBitMap()
  558.  
  559.  
  560. egs.library/E_AllocBitMapClass                 egs.library/E_AllocBitMapClass
  561.  
  562.    NAME
  563.     E_AllocBitMapClass -- Allocate a bitmap of a specific class
  564.  
  565.    SYNOPSIS
  566.     E_AllocBitMapClass(width, height, flags, class)
  567.                        D0     D1      D2     A0
  568.  
  569.     E_EBitMapPtr E_AllocBitMapClass(UWORD, UWORD, ULONG, E_EGSClassPtr)
  570.  
  571.    FUNCTION
  572.     Allocates a bitmap structure and associated memory for a given bitmap
  573.     class. This is the best way, to get a bitmap of the type you want.
  574.  
  575.    WARNING
  576.     You might get a different bitmap than the one you ordered, depening
  577.     on the flags you used.
  578.    INPUTS
  579.     width        - width of the bitmap
  580.     height       - height of it
  581.     flags        - properties of the bitmap
  582.     class        - the class you want to allocate a bitmap for you
  583.  
  584.    RESULT
  585.     Inititialized bitmap if successfull, NULL else.
  586.  
  587.    SEE ALSO
  588.     E_AllocBitMap(), E_AllocBitMapFrame(), E_DisposeBitMap()
  589.  
  590.  
  591. egs.library/E_AllocBitMapFrame                 egs.library/E_AllocBitMapFrame
  592.  
  593.    NAME
  594.     E_AllocBitMapFrame -- Allocate a bitmap structure
  595.  
  596.    SYNOPSIS
  597.     E_AllocBitMapFrame(class, w, h, flags)
  598.                        A0     D0 D1 d2
  599.  
  600.     E_EBitMapPtr E_AllocBitMapFrame(E_EBitMapClassPtr, WORD, WORD, ULONG)
  601.  
  602.    FUNCTION
  603.     Allocates a bitmap structure of a specific class. No memory is
  604.     allocated and only simple initilaisation is done. You have to include
  605.     the plane memory yourself.
  606.  
  607.     This function is typically called for two purposes. First bitmap
  608.     class implementors will call this to allocate the bitmap structure
  609.     for them. And second this call is usefull to build a bitmap from
  610.     already existing data.
  611.  
  612.    WARNING
  613.     You should only use this call if you really know what you are doing.
  614.     Do not start rendering into this bitmap unless you supplyed the
  615.     requiered memory.
  616.  
  617.     You have to free this bitmap structure with E_DisposeBitMapFrame()
  618.     not E_DisposeBitMap()
  619.    INPUTS
  620.     class        - the class you want the bitmap to be of
  621.     w            - the width of the bitmap
  622.     h            - the height of the bitmap
  623.     flags        - some flags
  624.  
  625.    RESULT
  626.     A partially initialized bitmap structure or NULL. You have to
  627.     at lease "BytesPerRow" and the apropriate memory pointer.
  628.  
  629.    SEE ALSO
  630.     E_DisposeBitMapFrame(), E_AllocBitMap(), E_AllocBitMapClass()
  631.  
  632.  
  633. egs.library/E_AllocEMem                               egs.library/E_AllocEMem
  634.  
  635.    NAME
  636.     E_AllocEMem -- allocate memory from an EGS memory pool
  637.  
  638.    SYNOPSIS
  639.     E_AllocEMem(pool, mem, size)
  640.                 A0    A1   D0
  641.  
  642.     BOOL E_AllocEMem(E_EMemPoolPtr, E_EMemPtr, LONG)
  643.  
  644.    FUNCTION
  645.     Attempts to allocate memory from an EGS memory pool. And fills a
  646.     supplied structure with its location and size.
  647.  
  648.     EGS memory pools differ from exec memory pools in the ability to move
  649.     memory areas to gain more consecutive free space. This function is
  650.     typically used by a display driver implementor to allocate memory for
  651.     display bitmaps.
  652.  
  653.    WARNING
  654.     During accesses to the allocated memory, a lock counter has to be
  655.     incremented in the memory node, to forbid movement of this piece.
  656.     When this lock is zero the pointer to the actual memory may change at
  657.     any moment.
  658.    INPUTS
  659.     pool         - the memory pool you want to allocate from
  660.     mem          - the memory node you want to control the piece of
  661.                allocated memory
  662.     size         - the size of the requiered memory
  663.  
  664.    RESULT
  665.     TRUE if the call succeeded, FALSE if there could no memory area
  666.     of the requiered size could be found or created.
  667.  
  668.    SEE ALSO
  669.     E_FreeEMem(), E_CreateEMemPool(), E_DeleteEMemPool(),
  670.     E_AllocBitMap()
  671.  
  672.  
  673. egs.library/E_CanDisplayOnMonitor           egs.library/E_CanDisplayOnMonitor
  674.  
  675.    NAME
  676.     E_CanDisplayOnMonitor -- test if a screen can be display on a monitor
  677.  
  678.    SYNOPSIS
  679.     E_CanDisplayOnMonitor(scr, mon)
  680.                           A0   A1
  681.  
  682.     BOOL E_CanDisplayOnMonitor(E_EScreenPtr, E_MonitorPtr)
  683.  
  684.    FUNCTION
  685.     Tests if a screen could be displayed on a specific monitor if it
  686.     would be ordered to do so. This call works even if the screen is not
  687.     currently displayed.
  688.  
  689.    INPUTS
  690.     scr          - the screen you want to test.
  691.     mon          - the monitor where the screen could apear
  692.  
  693.    RESULT
  694.     TRUE if the screen could be display on the monitor, FALSE else
  695.  
  696.    SEE ALSO
  697.     E_WhichScreen(), E_WhichMonitor()
  698.  
  699.  
  700. egs.library/E_ChangeMonitorSpecTagList egs.library/E_ChangeMonitorSpecTagList
  701.  
  702.    NAME
  703.     E_ChangeMonitorSpecTagList -- change a monitor spec
  704.  
  705.    SYNOPSIS
  706.     E_ChangeMonitorSpecTagList(moni, Tags)
  707.                                A0    A1
  708.  
  709.     void E_ChangeMonitorSpecTagList(E_MonitorSpecPtr, APTR)
  710.  
  711.    FUNCTION
  712.     Changes the properties of a monitor specification.
  713.  
  714.    INPUTS
  715.     moni         - the monitor spec you want to change
  716.     Tags         - tags describing the properties you want to change
  717.                (see "includes/egs/egs.h" E_MST_... for valid
  718.             tags).
  719.  
  720.    RESULT
  721.  
  722.    SEE ALSO
  723.     E_CreateMonitorSpecTagList(), E_CreateScreenSpecTagList(),
  724.     E_DeleteMonitorSpec(),  E_SaveMonitorSpec()
  725.  
  726.  
  727. egs.library/E_ChangeScreenParamTagList egs.library/E_ChangeScreenParamTagList
  728.  
  729.    NAME
  730.     E_ChangeScreenParamTagList -- change a screen param structure
  731.  
  732.    SYNOPSIS
  733.     E_ChangeScreenParamTagList(param, tags)
  734.                                A0     A1
  735.  
  736.     void E_ChangeScreenParamTagList(E_ScreenParamPtr, APTR)
  737.  
  738.    FUNCTION
  739.     Changes properties of a screen param structure. This will have
  740.     immediate effect, if a screen with this params is currently
  741.     displayed.
  742.  
  743.    INPUTS
  744.     param        - the screen param structure you want to change
  745.     tags         - tags describing the properties you want to change
  746.                (see "includes/egs/egs.h" E_SPT... for valid
  747.             tags).
  748.  
  749.    RESULT
  750.  
  751.    SEE ALSO
  752.     E_CreateScreenParamTagList(), E_DeleteScreenParam(),
  753.     E_ChangeScreenSpecTagList()
  754.  
  755.  
  756. egs.library/E_ChangeScreenSpecTagList   egs.library/E_ChangeScreenSpecTagList
  757.  
  758.    NAME
  759.     E_ChangeScreenSpecTagList -- changes a screen specifiaction
  760.  
  761.    SYNOPSIS
  762.     E_ChangeScreenSpecTagList(spec, tags)
  763.                               A0    A1
  764.  
  765.     void E_ChangeScreenSpecTagList(E_ScreenSpecPtr, APTR)
  766.  
  767.    FUNCTION
  768.     Changes the properties of a screen specification. This will have no
  769.     immediate effect.
  770.  
  771.    INPUTS
  772.     spec         - the screen spec structure you want to change
  773.     tags         - tags describing the properties you want to change
  774.                (see "includes/egs/egs.h" E_SSPT_... vor valid
  775.             tags).
  776.  
  777.    RESULT
  778.  
  779.    SEE ALSO
  780.     E_CreateScreenSpecTags(), E_DeleteScreenSpec(),
  781.     E_CreateScreenParamTags()
  782.  
  783.  
  784. egs.library/E_ClearBitMap                           egs.library/E_ClearBitMap
  785.  
  786.    NAME
  787.     E_ClearBitMap -- Clears a bitmap
  788.  
  789.    SYNOPSIS
  790.     E_ClearBitMap(map)
  791.                   A0
  792.  
  793.     void E_ClearBitMap(E_EBitMapPtr)
  794.  
  795.    FUNCTION
  796.     Clears a bitmap by filling with zero (normaly black). This will
  797.     normaly result in a rectangle fill for most bitmap classes. But if
  798.     some hardware implements a a flush clear (like some VRam parts do)
  799.     this function will be much faster.
  800.  
  801.    INPUTS
  802.     map          - bitmap which to clear
  803.  
  804.    RESULT
  805.  
  806.    SEE ALSO
  807.  
  808.  
  809. egs.library/E_CloseScreen                           egs.library/E_CloseScreen
  810.  
  811.    NAME
  812.     E_CloseScreen -- Close a screen
  813.  
  814.    SYNOPSIS
  815.     E_CloseScreen(scr)
  816.                   A0
  817.  
  818.     void E_CloseScreen(E_EScreenPtr)
  819.  
  820.    FUNCTION
  821.     Closes a screen, which has been opened with E_OpenScreen. Frees all
  822.     resources like memory, ports, signals etc. If this screen was the
  823.     last screen on the monitor, the software automagically switches back
  824.     to an other monitor.
  825.  
  826.     After you closed the screen you may not use any friend bitmaps of the
  827.     screens bitmap anymore, as they may share common parameters.
  828.  
  829.     If you used this screen for double buffering with E_FlipMap, the
  830.     close will not free the initial screen bitmap, it will free the
  831.     bitmap that is currently associated with the screen.
  832.  
  833.    WARNING
  834.     Do not try to close an EI_Screen, or the E_EScreen associated with
  835.     it. Use EI_CloseScreen for these screens.
  836.    INPUTS
  837.     scr          -  Screen which to close
  838.  
  839.    RESULT
  840.  
  841.    SEE ALSO
  842.     E_OpenScreen(), EI_CloseScreen(), E_FlipMap()
  843.  
  844.  
  845. egs.library/E_CreateEMemPool                     egs.library/E_CreateEMemPool
  846.  
  847.    NAME
  848.     E_CreateEMemPool -- create an EGS memory pool
  849.  
  850.    SYNOPSIS
  851.     E_CreateEMemPool(pos, size)
  852.                      A0   D0
  853.  
  854.     E_EMemPoolPtr E_CreateEMemPool(APTR, LONG)
  855.  
  856.    FUNCTION
  857.     Creates an EGS memory pool. These memory pools differ from the
  858.     commodore memory pools in the fact, that memory may be moved around
  859.     to gain larger segments.
  860.  
  861.     The memory is intended for bitmaps. The memory is partitioned in
  862.     pieces of 4 KBytes, so this is the minimum size you can allocate.
  863.  
  864.     This function is intended for driver implementors only.
  865.  
  866.    INPUTS
  867.     pos          - the address of the first byte of memory to be
  868.                used in the memory pool
  869.     size         - the size of the memory to be used in the memory
  870.                pool
  871.  
  872.    RESULT
  873.     Returns an opaque handle to the memory pool. This function has to
  874.     be passed as an argument all allocations in this pool.
  875.  
  876.    SEE ALSO
  877.     E_AllocEMem(), E_FreeEMem(), E_DeleteEMemPool()
  878.  
  879.  
  880. egs.library/E_CreateMonitorSpecTagList egs.library/E_CreateMonitorSpecTagList
  881.  
  882.    NAME
  883.     E_CreateMonitorSpecTagList -- creates an monitor specification
  884.  
  885.    SYNOPSIS
  886.     E_CreateMonitorSpecTagList(name, Tags)
  887.                                A0    A1
  888.  
  889.     E_MonitorSpecPtr E_CreateMonitorSpecTagList(char *, APTR)
  890.  
  891.    FUNCTION
  892.     Creates and initializes a monitor spec structure. The monitor spec
  893.     becomes immediately available to E_ObtainMonitorSpec().
  894.  
  895.    INPUTS
  896.     name         - the name of the monitor spec
  897.     Tags         - additional information for the monitor
  898.  
  899.    RESULT
  900.     An initialized monitor spec structure, or NULL if failed
  901.  
  902.    SEE ALSO
  903.     E_ChangeMonitorSpec(), E_DeleteMonitorSpec(), E_CreateScreenSpec()
  904.  
  905.  
  906. egs.library/E_CreateObject                         egs.library/E_CreateObject
  907.  
  908.    NAME
  909.     E_CreateObject -- create an EGS object
  910.  
  911.    SYNOPSIS
  912.     E_CreateObject(class)
  913.                    A0
  914.  
  915.     APTR E_CreateObject(E_EGSClassPtr)
  916.  
  917.    FUNCTION
  918.     Creates an EGS object with a standard creation message. The create
  919.     method of the class will be invoked to create the object. If the
  920.     class needs more information for creation, the appropriate call would
  921.     be to E_CreateObjectMsg().
  922.  
  923.     The create method differs in one way from many object oriented
  924.     languages, as it is not a classmethod, but a normal objectmethod. You
  925.     should not call the create method on your own, better use this
  926.     function. The reason for this cludge is, that it makes it possible to
  927.     change the creation method of the class (the method the class is
  928.     created itself), without the need of a meta/meta class.
  929.  
  930.     The object can be deleted by sending an delete message or by a call
  931.     to E_DeleteObject(), which will send the message for you.
  932.  
  933.    INPUTS
  934.     class        - the class, you want an object of
  935.  
  936.    RESULT
  937.     a pointer to the newly created object or NULL.
  938.  
  939.    SEE ALSO
  940.     E_CreateObjectMsg(), E_DeleteObject(), E_DispatchClass(),
  941.     E_Dispatch()
  942.  
  943.  
  944. egs.library/E_CreateObjectMsg                   egs.library/E_CreateObjectMsg
  945.  
  946.    NAME
  947.     E_CreateObjectMsg -- create an object with arguments
  948.  
  949.    SYNOPSIS
  950.     E_CreateObjectMsg(class, msg)
  951.                       A0     A1
  952.  
  953.     E_EGSObjectPtr E_CreateObjectMsg(E_EGSClassPtr, E_CreateMsgPtr)
  954.  
  955.    FUNCTION
  956.     This function does actually the same as E_CreateObject(), except
  957.     that it gives you the ability, to pass your own creation message.
  958.     This is usefull for classes, that need further informations to create
  959.     an object.
  960.  
  961.    INPUTS
  962.     class        - the class you want an object of
  963.     msg          - an (extended) creation message
  964.  
  965.    RESULT
  966.     a pointer to the newly create object of NULL
  967.  
  968.    SEE ALSO
  969.     E_CreateObject(), E_DeleteObject(), E_DispatchClass(), E_Dispatch()
  970.  
  971.  
  972. egs.library/E_CreateScreenParamTagList egs.library/E_CreateScreenParamTagList
  973.  
  974.    NAME
  975.     E_CreateScreenParamTagList -- create a screen parameter
  976.  
  977.    SYNOPSIS
  978.     E_CreateScreenParamTagList(spec, tags)
  979.                                A0    A1
  980.  
  981.     E_ScreenParamPtr E_CreateScreenParamTagList(E_ScreenSpecPtr, APTR)
  982.  
  983.    FUNCTION
  984.     Creates an screen parameter to a given screen spec. A screen spec may
  985.     have any number of parameters, a display driver will simply select
  986.     the best one (highest pixel clock) for a given color depth.
  987.  
  988.    INPUTS
  989.     spec         - the ruleing screen spec
  990.     tags         - tags defining the screen param
  991.  
  992.    RESULT
  993.     a pointer to the screen param structure or NULL
  994.  
  995.    SEE ALSO
  996.     E_DeleteScreenParam(), E_ChangeScreenParamTags(),
  997.     E_ChangeScreeSpec()
  998.  
  999.  
  1000. egs.library/E_CreateScreenSpecTagList   egs.library/E_CreateScreenSpecTagList
  1001.  
  1002.    NAME
  1003.     E_CreateScreenSpecTagList -- create a screen spec
  1004.  
  1005.    SYNOPSIS
  1006.     E_CreateScreenSpecTagList(moni, tags)
  1007.                               A0    A1
  1008.  
  1009.     E_ScreenSpecPtr E_CreateScreenSpecTagList(E_MonitorSpecPtr, APTR)
  1010.  
  1011.    FUNCTION
  1012.     Creates a screen spec to a given monitor spec. A monitor spec may
  1013.     have any number of screen specs attached. The screen spec initially
  1014.     has no screen param. You may add screen params to it with
  1015.     E_CreateScreenParamTags().
  1016.  
  1017.    INPUTS
  1018.     moni         - the ruleing monitor spec
  1019.     tags         - tags defining the screen spec
  1020.  
  1021.    RESULT
  1022.     a pointer to the screen spec structure or NULL
  1023.  
  1024.    SEE ALSO
  1025.     E_DeleteScreenSpec(), E_ChangeScreenSpecTags(),
  1026.     E_CreateScreenParam()
  1027.  
  1028.  
  1029. egs.library/E_CreateSubClass                     egs.library/E_CreateSubClass
  1030.  
  1031.    NAME
  1032.     E_CreateSubClass -- creates a subclass of an existing class
  1033.  
  1034.    SYNOPSIS
  1035.     E_CreateSubClass(super, objectSize, classSize, methods, data)
  1036.                      A0     D0          D1         A1       A2
  1037.  
  1038.     E_EGSClassPtr E_CreateSubClass(E_EGSClassPtr, LONG, LONG, E_MethodListPtr, APTR)
  1039.  
  1040.    FUNCTION
  1041.     Creates, initializes and modifies a subclass to a given class. This
  1042.     call calls the createSubClass method of the class, so you can even
  1043.     modify sub class creation. The sub class is then yours. To get rid of
  1044.     it just call E_ReleaseClass().
  1045.  
  1046.     You may specify all or some new/change methods you want to put into
  1047.     this class. All non modified methods are inherited from the
  1048.     superclass. You can also change the methods later using
  1049.     E_AddMethod().
  1050.  
  1051.    INPUTS
  1052.     super        - the class you want a child of
  1053.     objectSize   - the size of the objects of the new subclass
  1054.     classSize    - the size of the subclass structure itself. If you
  1055.                don't want to change the class structure, just pass
  1056.                null in here.
  1057.     methods      - an array of method description for the methods you
  1058.                want to change.
  1059.     data         - the common data for all new method calls.
  1060.  
  1061.    RESULT
  1062.     a freshly created subclass of the superclass or NULL if failed
  1063.  
  1064.    SEE ALSO
  1065.     E_ReleaseClass(), E_ObtainPublicClass(), E_AddMethod(),
  1066.     E_AddClassMethod()
  1067.  
  1068.  
  1069. egs.library/E_CrossMouseBorder                 egs.library/E_CrossMouseBorder
  1070.  
  1071.    NAME
  1072.     E_CrossMouseBorder -- cross the border with the mouse cursor
  1073.  
  1074.    SYNOPSIS
  1075.     E_CrossMouseBorder(from, direction)
  1076.                        A0    D0
  1077.  
  1078.     BOOL E_CrossMouseBorder(E_EScreenPtr, ULONG)
  1079.  
  1080.    FUNCTION
  1081.  
  1082.    INPUTS
  1083.     from         -
  1084.     direction    -
  1085.  
  1086.    RESULT
  1087.  
  1088.    BUGS
  1089.     This function should be private ???
  1090.  
  1091.    SEE ALSO
  1092.  
  1093.  
  1094. egs.library/E_DefinePublicObject             egs.library/E_DefinePublicObject
  1095.  
  1096.    NAME
  1097.     E_DefinePublicObject -- define a public object
  1098.  
  1099.    SYNOPSIS
  1100.     E_DefinePublicObject(obj, name)
  1101.                          A0   D0
  1102.  
  1103.     void E_DefinePublicObject(E_PublicEGSObjectPtr, E_Symbol)
  1104.  
  1105.    FUNCTION
  1106.     Makes an object available to the public. The object is obtained by
  1107.     the call, so you can release the object, if you do not need it
  1108.     anymore. If the object is remove from the public dictionary, it will
  1109.     be released and potentially deleted. You may only put subclasses of
  1110.     public object class into the public dictionary. All classes are
  1111.     subclasses of public object class.
  1112.  
  1113.    INPUTS
  1114.     obj          - the object you want to make public
  1115.     name         - a symbol giving the name of the object.
  1116.  
  1117.    RESULT
  1118.  
  1119.    SEE ALSO
  1120.     E_ReleasePublicObject(), E_AddPublicClass(), E_ObtainPublicObject()
  1121.  
  1122.  
  1123. egs.library/E_DeleteEMemPool                     egs.library/E_DeleteEMemPool
  1124.  
  1125.    NAME
  1126.     E_DeleteEMemPool -- delete an EGS memory pool
  1127.  
  1128.    SYNOPSIS
  1129.     E_DeleteEMemPool(pool)
  1130.                      A0
  1131.  
  1132.     void E_DeleteEMemPool(E_EMemPoolPtr)
  1133.  
  1134.    FUNCTION
  1135.     Deletes an EGS memory pool. You may not allocate or free any memory
  1136.     of this pool anymore.
  1137.  
  1138.     This function is usefull for display driver implementors only.
  1139.  
  1140.    INPUTS
  1141.     pool         - the pool to delete
  1142.  
  1143.    RESULT
  1144.  
  1145.    SEE ALSO
  1146.     E_CreateEMemPool(), E_AllocEMem(), E_FreeEMem()
  1147.  
  1148.  
  1149. egs.library/E_DeleteMonitorSpec               egs.library/E_DeleteMonitorSpec
  1150.  
  1151.    NAME
  1152.     E_DeleteMonitorSpec -- delete a monitor specification.
  1153.  
  1154.    SYNOPSIS
  1155.     E_DeleteMonitorSpec(moni)
  1156.                         A0
  1157.  
  1158.     void E_DeleteMonitorSpec(E_MonitorSpecPtr)
  1159.  
  1160.    FUNCTION
  1161.     Deletes (or at least attempts to) a monitor spec from memory and/or
  1162.     disk. The monitor spec may still reside in memory after this call, if
  1163.     it is currently obtained, but it will not be available to
  1164.     E_ObtainMonitorSpec() from then on.
  1165.  
  1166.     If a monitor spec is deleted all associated screen spec and screen
  1167.     param structures will be deleted too.
  1168.  
  1169.    INPUTS
  1170.     moni         - the monitor spec to delete
  1171.  
  1172.    RESULT
  1173.  
  1174.    SEE ALSO
  1175.     E_CreateMoniorSpec(), E_ObtainMonitoSpec(), E_ReleaseMonitorSpec()
  1176.  
  1177.  
  1178. egs.library/E_DeleteObject                         egs.library/E_DeleteObject
  1179.  
  1180.    NAME
  1181.     E_DeleteObject -- delete an EGS object
  1182.  
  1183.    SYNOPSIS
  1184.     E_DeleteObject(obj)
  1185.                    A0
  1186.  
  1187.     void E_DeleteObject(E_EGSObjectPtr)
  1188.  
  1189.    FUNCTION
  1190.     This is the normal way to delete a private EGS object. The call to
  1191.     delete a public object is E_ReleasePublicObject().
  1192.  
  1193.     This function will invoke the delete method of the object. This will
  1194.     normaly result in the destruction of the object.
  1195.  
  1196.    INPUTS
  1197.     obj          - the object to delete
  1198.  
  1199.    RESULT
  1200.  
  1201.    SEE ALSO
  1202.     E_CreateObject(), E_CreateObjectMsg(), E_ReleaseObject()
  1203.  
  1204.  
  1205. egs.library/E_DeleteScreenParam               egs.library/E_DeleteScreenParam
  1206.  
  1207.    NAME
  1208.     E_DeleteScreenParam -- delete a screen param struct
  1209.  
  1210.    SYNOPSIS
  1211.     E_DeleteScreenParam(param)
  1212.                         A0
  1213.  
  1214.     void E_DeleteScreenParam(E_ScreenParamPtr)
  1215.  
  1216.    FUNCTION
  1217.     Removes and deletes a screen param struct. The structure will be in
  1218.     memory until it is not used anymore.
  1219.  
  1220.    INPUTS
  1221.     param        - the screen param to delete
  1222.  
  1223.    RESULT
  1224.  
  1225.    SEE ALSO
  1226.     E_DeleteScreenSpec(), E_CreateScreenParam(), E_ChangeScreenParam()
  1227.  
  1228.  
  1229. egs.library/E_DeleteScreenSpec                 egs.library/E_DeleteScreenSpec
  1230.  
  1231.    NAME
  1232.     E_DeleteScreenSpec -- delete a screen spec structure
  1233.  
  1234.    SYNOPSIS
  1235.     E_DeleteScreenSpec(spec)
  1236.                        A0
  1237.  
  1238.     void E_DeleteScreenSpec(E_ScreenSpecPtr)
  1239.  
  1240.    FUNCTION
  1241.     Removes and deletes a screen spec structure. All associated screen
  1242.     param structures will also be deleted
  1243.  
  1244.    INPUTS
  1245.     spec         - the screen spec structure to delete
  1246.  
  1247.    RESULT
  1248.  
  1249.    SEE ALSO
  1250.     E_CreateScreenSpec(), E_DeleteMonitorSpec(), E_DeleteScreenParam()
  1251.  
  1252.  
  1253. egs.library/E_Dispatch                                 egs.library/E_Dispatch
  1254.  
  1255.    NAME
  1256.     E_Dispatch -- invoke a method
  1257.  
  1258.    SYNOPSIS
  1259.     E_Dispatch(obj, name, msg)
  1260.                A0   D0    A2
  1261.  
  1262.     BOOL E_Dispatch(E_EGSObjectPtr, E_Symbol, E_EGSObjMsgPtr)
  1263.  
  1264.    FUNCTION
  1265.     This is the standard way to send a message to an EGS object.
  1266.  
  1267.     This is no exec message sent, it is just a method lookup and a
  1268.     function call.
  1269.  
  1270.     The message structure will be further initialized by writing the
  1271.     method name and self fields.
  1272.  
  1273.    INPUTS
  1274.     obj          - the object to receive your message
  1275.     name         - the symbol giving the methods name
  1276.     msg          - a partially initialized message structure.
  1277.                It depends on the type of message you want to
  1278.                send to the object.
  1279.  
  1280.    RESULT
  1281.     TRUE if the message was implemented in the objects class, FALSE
  1282.     if not
  1283.  
  1284.    SEE ALSO
  1285.     E_DispatchClass(), E_AddMethod()
  1286.  
  1287.  
  1288. egs.library/E_DispatchClass                       egs.library/E_DispatchClass
  1289.  
  1290.    NAME
  1291.     E_DispatchClass -- statically invoke a method
  1292.  
  1293.    SYNOPSIS
  1294.     E_DispatchClass(class, name, msg)
  1295.                     A0     D0    A2
  1296.  
  1297.     BOOL E_DispatchClass(E_EGSClassPtr, E_Symbol, E_EGSObjMsgPtr)
  1298.  
  1299.    FUNCTION
  1300.     This is the standard way to forward a message to the static
  1301.     superclass of an method.
  1302.  
  1303.     The method lookup is done in the specified class, instead of the
  1304.     objects class. This is usefull to call a method of the static
  1305.     superclass of a method.
  1306.  
  1307.    WARNING
  1308.     You may not call this function with an other class than a direct
  1309.     superclass of the objects class.
  1310.    INPUTS
  1311.     class        - the static superclass
  1312.     name         - a symbol defining the name of the method
  1313.     msg          - a full initialized message structure
  1314.  
  1315.    RESULT
  1316.     TRUE if the method was implemented in the class, FALSE else
  1317.  
  1318.    SEE ALSO
  1319.     E_Dispatch(), E_AddMethod(), E_CreateSubClass()
  1320.  
  1321.  
  1322. egs.library/E_DisposeBitMap                       egs.library/E_DisposeBitMap
  1323.  
  1324.    NAME
  1325.     E_DisposeBitMap -- Free the memory, used by a bitmap
  1326.  
  1327.    SYNOPSIS
  1328.     E_DisposeBitMap(map)
  1329.                     A0
  1330.  
  1331.     void E_DisposeBitMap(E_EBitMapPtr)
  1332.  
  1333.    FUNCTION
  1334.     Returns the memory of a bitmap back to the free memory pool. This
  1335.     should be done with all allocated bitmaps (for exception see
  1336.     E_FlipMap()).
  1337.  
  1338.    WARNING
  1339.     You may call this for bitmaps that where allocated using
  1340.     E_AllocBitMap() or E_AllocBitMapClass(), not for bitmaps that where
  1341.     allocated using E_AllocBitMapFrame().
  1342.    INPUTS
  1343.     map          - bitmap to free
  1344.  
  1345.    RESULT
  1346.  
  1347.    SEE ALSO
  1348.     E_AllocBitMap(), E_DisposeBitMapFrame()
  1349.  
  1350.  
  1351. egs.library/E_DisposeBitMapFrame             egs.library/E_DisposeBitMapFrame
  1352.  
  1353.    NAME
  1354.     E_DisposeBitMapFrame -- dispose a bit map frame
  1355.  
  1356.    SYNOPSIS
  1357.     E_DisposeBitMapFrame(map)
  1358.                          A0
  1359.  
  1360.     void E_DisposeBitMapFrame(E_EBitMapPtr)
  1361.  
  1362.    FUNCTION
  1363.     Frees the memory of a bitmap frame. This will not free the actual
  1364.     image memory. You may call this function only for bitmaps that you
  1365.     allocated using E_AllocBitMapFrame().
  1366.  
  1367.    INPUTS
  1368.     map          - the bitmap frame to dispose
  1369.  
  1370.    RESULT
  1371.  
  1372.    SEE ALSO
  1373.     E_AllocBitMapFrame(), E_AllocBitMap(), E_DisposeBitMap()
  1374.  
  1375.  
  1376. egs.library/E_FindPublicVideoNode           egs.library/E_FindPublicVideoNode
  1377.  
  1378.    NAME
  1379.     E_FindPublicVideoNode -- find a public video node
  1380.  
  1381.    SYNOPSIS
  1382.     E_FindPublicVideoNode(name)
  1383.                           A0
  1384.  
  1385.     E_VideoNodePtr E_FindPublicVideoNode(char *)
  1386.  
  1387.    FUNCTION
  1388.     Searches the video node list for a public node with the given name.
  1389.  
  1390.    INPUTS
  1391.     name         - the name of the wanted video node.
  1392.  
  1393.    RESULT
  1394.     a pointert to the public video node, or NULL when none was
  1395.     found
  1396.  
  1397.    SEE ALSO
  1398.     E_AddPublicVideoNode()
  1399.  
  1400.  
  1401. egs.library/E_FlipMap                                   egs.library/E_FlipMap
  1402.  
  1403.    NAME
  1404.     E_FlipMap -- Show double buffered bitmap
  1405.  
  1406.    SYNOPSIS
  1407.     E_FlipMap(scr, map)
  1408.               A0   A1
  1409.  
  1410.     E_EBitMapPtr E_FlipMap(E_EScreenPtr, E_EBitMapPtr)
  1411.  
  1412.    FUNCTION
  1413.     Swaps the bitmaps of a screen with a bitmap. This can be used for
  1414.     double buffering. The new map is then linked to the screen, the old
  1415.     bitmap is returned. For double buffering, open a screen, and
  1416.     allocate a bitmap with same dimensions as screens bitmap of display
  1417.     memory. Then render into this bitmap. Then flip the bitmaps and
  1418.     assign the result of E_FlipMap() to your bitmap pointer. Now render
  1419.     in this map and so on.
  1420.  
  1421.     This function attaches the new bitmap to the screen, and releases the
  1422.     old one, so you have to free the old one at the programms end, not
  1423.     your new bitmap (except if you reflip). You will have no problems, if
  1424.     you assign the functions result to your own bitmap pointer, that
  1425.     previously pointed to the new bitmap.
  1426.  
  1427.     The change of the bitmaps will happen when the next frame starts. To
  1428.     make sure, that the change happened, you should call E_WaitTOF().
  1429.  
  1430.    INPUTS
  1431.     scr          - screen for double buffering
  1432.     map          - back bitmap, which to show
  1433.  
  1434.    RESULT
  1435.     the previous bitmap of the screen, now that one, which can not
  1436.     be seen
  1437.  
  1438.    BUGS
  1439.     Should get a better way to inform the caller that the flip happened.
  1440.  
  1441.    SEE ALSO
  1442.     E_AllocBitMap(), E_CloseScreen()
  1443.  
  1444.  
  1445. egs.library/E_FreeEMem                                 egs.library/E_FreeEMem
  1446.  
  1447.    NAME
  1448.     E_FreeEMem -- frees memory that was allocated with E_AllocEMem
  1449.  
  1450.    SYNOPSIS
  1451.     E_FreeEMem(pool, mem)
  1452.                A0    A1
  1453.  
  1454.     void E_FreeEMem(E_EMemPoolPtr, E_EMemPtr)
  1455.  
  1456.    FUNCTION
  1457.     Gives memory that was allocated using E_AllocEMem() back to the
  1458.     memory pool.
  1459.  
  1460.    INPUTS
  1461.     pool         - the pool the memory was taken from
  1462.     mem          - the mem node associated to the memory
  1463.  
  1464.    RESULT
  1465.  
  1466.    SEE ALSO
  1467.     E_AllocEMem(), E_CreateEMemPool(), E_DeleteEMemPool()
  1468.  
  1469.  
  1470. egs.library/E_GetClassMethod                     egs.library/E_GetClassMethod
  1471.  
  1472.    NAME
  1473.     E_GetClassMethod -- get a method of a class
  1474.  
  1475.    SYNOPSIS
  1476.     E_GetClassMethod(class, sym, method)
  1477.                      A0     D0   A1
  1478.  
  1479.     BOOL E_GetClassMethod(E_EGSClassPtr, E_Symbol, struct E_EGSMethod)
  1480.  
  1481.    FUNCTION
  1482.     Tests if a class implements a specific method, and if so fills the
  1483.     method structure with a copy of its implementation (the pointer to
  1484.     the function and the private data field).
  1485.  
  1486.    INPUTS
  1487.     class        - the class to look in
  1488.     sym          - a symbol defining the method
  1489.     method       - a method container
  1490.  
  1491.    RESULT
  1492.     TRUE when the method is implemented, FALSE else
  1493.  
  1494.    SEE ALSO
  1495.     E_AddMethod(), E_CreateSubClass(), E_Dispatch()
  1496.  
  1497.  
  1498. egs.library/E_GetHardInfo                           egs.library/E_GetHardInfo
  1499.  
  1500.    NAME
  1501.     E_GetHardInfo -- Get information about graphicscard
  1502.  
  1503.    SYNOPSIS
  1504.     E_GetHardInfo()
  1505.  
  1506.  
  1507.     E_HardInfoPtr E_GetHardInfo(void)
  1508.  
  1509.    FUNCTION
  1510.     Retrieves information about the current system, including possible
  1511.     screen modes.
  1512.  
  1513.    NOTE
  1514.     Several fields of the hard info structure are outdated, and not
  1515.     valid anymore. Check in the includes.
  1516.  
  1517.    INPUTS
  1518.  
  1519.    RESULT
  1520.     Pointer to a hardinfo structure. The contents of the structure
  1521.     may not be changed !!!
  1522.  
  1523.    SEE ALSO
  1524.  
  1525.  
  1526. egs.library/E_GetRGB8                                   egs.library/E_GetRGB8
  1527.  
  1528.    NAME
  1529.     E_GetRGB8 -- Get RGB value of a clut register
  1530.  
  1531.    SYNOPSIS
  1532.     E_GetRGB8(scr, reg)
  1533.               A0   D0
  1534.  
  1535.     ULONG E_GetRGB8(E_EScreenPtr, WORD)
  1536.  
  1537.    FUNCTION
  1538.     Returns the RGB value of an entry in the color look up table of a
  1539.     screen. The colors is coded in an ULONG as RRRR RRRR GGGG GGGG BBBB
  1540.     BBBB xxxx xxxx. The result can be casted into en E_CluEntry struct.
  1541.  
  1542.    INPUTS
  1543.     scr         - pointer to the screen
  1544.     reg         - number of the colorregister, use only valid entries,
  1545.                depending on the screens depth
  1546.  
  1547.    RESULT
  1548.     the inquiered color as an 8x3 bit RGB value.
  1549.  
  1550.    SEE ALSO
  1551.     E_SetRGB8(), E_GetRGB8CM(), E_SetRGB8CM()
  1552.  
  1553.  
  1554. egs.library/E_GetRGB8CM                               egs.library/E_GetRGB8CM
  1555.  
  1556.    NAME
  1557.     E_GetRGB8CM -- Get several RGB values.
  1558.  
  1559.    SYNOPSIS
  1560.     E_GetRGB8CM(scr, colors, start, num)
  1561.                 A0   A1      D0     D1
  1562.  
  1563.     void E_GetRGB8CM(E_EScreenPtr, E_CLUPtr, WORD, WORD)
  1564.  
  1565.    FUNCTION
  1566.     Copies a part of a screens clut into a buffer. Make sure you have
  1567.     enough buffer memory in your color table for this function.
  1568.  
  1569.    INPUTS
  1570.     colors         - pointer to buffer
  1571.     start        - first register in screens clut
  1572.     num         - number of colors to transfer
  1573.  
  1574.    RESULT
  1575.  
  1576.    SEE ALSO
  1577.     E_GetRGB8(), E_SetRGB8(), E_SetRGB8CM()
  1578.  
  1579.  
  1580. egs.library/E_GetRealTimings                     egs.library/E_GetRealTimings
  1581.  
  1582.    NAME
  1583.     E_GetRealTimings -- calculates the effective sync timings
  1584.  
  1585.    SYNOPSIS
  1586.     E_GetRealTimings(driver, param, real)
  1587.                      A0      A1     A2
  1588.  
  1589.     void E_GetRealTimings(E_DisplayDriverPtr, E_ScreenParamPtr, E_ScreenParamPtr)
  1590.  
  1591.    FUNCTION
  1592.     Calculates the effecting sync timings for a driver and a screen
  1593.     param. Most drivers only support a limited number of pixel
  1594.     frequencys, and can control sync timings only in multiples of some
  1595.     base units. So the actual timings may vary from the requiered
  1596.     timings.
  1597.  
  1598.    INPUTS
  1599.     driver       - the driver to ask for the sync timings
  1600.     param        - the specified screen parameters
  1601.     real         - the actual screen parameters
  1602.  
  1603.    RESULT
  1604.  
  1605.    SEE ALSO
  1606.     E_CreateScreenParam(), E_ChangeScreenParam()
  1607.  
  1608.  
  1609. egs.library/E_GetSymName                             egs.library/E_GetSymName
  1610.  
  1611.    NAME
  1612.     E_GetSymName -- get the string a symbol represents
  1613.  
  1614.    SYNOPSIS
  1615.     E_GetSymName(sym)
  1616.                  D0
  1617.  
  1618.     char * E_GetSymName(E_Symbol)
  1619.  
  1620.    FUNCTION
  1621.     Looks for the textual representation of a symbol.
  1622.  
  1623.    INPUTS
  1624.     sym          - the symbol to look for
  1625.  
  1626.    RESULT
  1627.     a pointer to the string defined by the symbol, or NULL if the symbol
  1628.     is invalid.
  1629.  
  1630.    SEE ALSO
  1631.     E_GetSymbol()
  1632.  
  1633.  
  1634. egs.library/E_GetSymbol                               egs.library/E_GetSymbol
  1635.  
  1636.    NAME
  1637.     E_GetSymbol -- get a symbol associated to a string
  1638.  
  1639.    SYNOPSIS
  1640.     E_GetSymbol(str)
  1641.                 A0
  1642.  
  1643.     E_Symbol E_GetSymbol(char *)
  1644.  
  1645.    FUNCTION
  1646.     This function is the main entry to the global name space handler.
  1647.     Every string is associated with a symbol. If you pass two times a
  1648.     string with the same value, you will get the same symbol.
  1649.  
  1650.    INPUTS
  1651.     str          - the source string
  1652.  
  1653.    RESULT
  1654.     the symbol defining the string
  1655.  
  1656.    SEE ALSO
  1657.     E_GetSymName()
  1658.  
  1659.  
  1660. egs.library/E_LoadDriver                             egs.library/E_LoadDriver
  1661.  
  1662.    NAME
  1663.     E_LoadDriver -- load an EGS driver
  1664.  
  1665.    SYNOPSIS
  1666.     E_LoadDriver(name)
  1667.                  A0
  1668.  
  1669.     BOOL E_LoadDriver(char *)
  1670.  
  1671.    FUNCTION
  1672.     Loads an EGS driver into memory, and initiates it.
  1673.  
  1674.     An EGS driver is a library with no associated functions. It is
  1675.     initialized in the normal way. A driver makes its functionality
  1676.     available to the system by adding (one or more) puplic objects or
  1677.     classes.
  1678.  
  1679.     Examples for drivers are display drivers, blankers or the
  1680.     intuition/workbench patch.
  1681.  
  1682.    INPUTS
  1683.     name         - the full file name of the driver
  1684.  
  1685.    RESULT
  1686.     TRUE if the driver was installed correct, FALSE else
  1687.  
  1688.    SEE ALSO
  1689.     E_AddPublicClass(), E_DefinePublicObject()
  1690.  
  1691.  
  1692. egs.library/E_LoadMonitorPrefs                 egs.library/E_LoadMonitorPrefs
  1693.  
  1694.    NAME
  1695.     E_LoadMonitorPrefs -- load and build a drivers screenmodes
  1696.  
  1697.    SYNOPSIS
  1698.     E_LoadMonitorPrefs(driver)
  1699.                        A0
  1700.  
  1701.     void E_LoadMonitorPrefs(E_DisplayDriverPtr)
  1702.  
  1703.    FUNCTION
  1704.     Loads the monitor definitions for a display driver and builds the
  1705.     drivers screenmodes with data of the EGS display database.
  1706.  
  1707.    INPUTS
  1708.     driver       - the driver to get prefs for
  1709.  
  1710.    RESULT
  1711.  
  1712.    SEE ALSO
  1713.     E_AddMonitorSpec(), E_RemMonitorSpec()
  1714.  
  1715.  
  1716. egs.library/E_LockEGSVideo                         egs.library/E_LockEGSVideo
  1717.  
  1718.    NAME
  1719.     E_LockEGSVideo -- lock the EGS display system
  1720.  
  1721.    SYNOPSIS
  1722.     E_LockEGSVideo()
  1723.  
  1724.  
  1725.     void E_LockEGSVideo(void)
  1726.  
  1727.    FUNCTION
  1728.     Locks the EGS display system. This is needed if you parse through the
  1729.     lists of the hardinfo structure, or play heavy with the EGS
  1730.     display database.
  1731.  
  1732.     Each call to E_LockEGSVideo() must have a related call to
  1733.     E_UnlockEGSVideo(). When the EGS display system is locked, the system
  1734.     is more or less dead.
  1735.  
  1736.    INPUTS
  1737.  
  1738.    RESULT
  1739.  
  1740.    SEE ALSO
  1741.     E_UnlockEGSVideo()
  1742.  
  1743.  
  1744. egs.library/E_ModifyEDCMP                           egs.library/E_ModifyEDCMP
  1745.  
  1746.    NAME
  1747.     E_ModifyEDCMP -- Modifies the EDCMP flags of a screen
  1748.  
  1749.    SYNOPSIS
  1750.     E_ModifyEDCMP(scr, flags)
  1751.                   A0   D0
  1752.  
  1753.     void E_ModifyEDCMP(E_EScreenPtr, UWORD)
  1754.  
  1755.    FUNCTION
  1756.     Sets the EDCMP flags of a screen. Opens or closes the screens port if
  1757.     needed. For user defined ports the port should be removed before
  1758.     clearing all flags.
  1759.  
  1760.    INPUTS
  1761.     flags         - new set of edcmpflags
  1762.  
  1763.    RESULT
  1764.  
  1765.    SEE ALSO
  1766.     E_OpenScreen(), E_CloseScreen()
  1767.  
  1768.  
  1769. egs.library/E_ModifyMouse                           egs.library/E_ModifyMouse
  1770.  
  1771.    NAME
  1772.     E_ModifyMouse -- Modify the shape of a screens mouse.
  1773.  
  1774.    SYNOPSIS
  1775.     E_ModifyMouse(scr, mouse)
  1776.                   A0   A1
  1777.  
  1778.     void E_ModifyMouse(E_EScreenPtr, E_EMousePtr)
  1779.  
  1780.    FUNCTION
  1781.     Sets a new shape for the screens mouse pointer. This is the only
  1782.     legal way to change the mouse. You may read the "mouse" field in the
  1783.     E_Screen structure, to get the standard mouse, but you may not alter
  1784.     this field except using this function.
  1785.  
  1786.     If the screen is the actual displayed, the change takes place
  1787.     immediately.
  1788.  
  1789.     As in EI_Screens, the mouse is attached to a window not to a screen,
  1790.     you must use the function in the egsintui.library if working with
  1791.     windows.
  1792.  
  1793.    INPUTS
  1794.     mouse         - initialized mouse structure
  1795.                This structure may not be discarded
  1796.  
  1797.    RESULT
  1798.  
  1799.    SEE ALSO
  1800.  
  1801.  
  1802. egs.library/E_MouseOff                                 egs.library/E_MouseOff
  1803.  
  1804.    NAME
  1805.     E_MouseOff -- Switch softwaremouse off
  1806.  
  1807.    SYNOPSIS
  1808.     E_MouseOff(scr)
  1809.                A0
  1810.  
  1811.     void E_MouseOff(E_EScreenPtr)
  1812.  
  1813.    FUNCTION
  1814.         On graphics board which do not have a hardware cursor the
  1815.     software mouse has to be switched of before drawing into the
  1816.     screens bitmap. This function has no effect on cards offering a
  1817.     hardwaremouse. Calls to E_MouseOn() and E_MouseOff() may be
  1818.     nested. This function should not be used to hide the mouse for
  1819.     optical reasons, because it has no effects on cards with a
  1820.     hardware mouse. You should use E_ModifyEMouse().
  1821.  
  1822.     Not moving the mouse several seconds and calling E_MouseOff() results
  1823.     in not turning the mouse on again at the corresponding E_MouseOn().
  1824.     The pointer reappears as soon as the mouse is moved.
  1825.  
  1826.     E_MouseOff() and E_MouseOn() are nestable so that for complex drawing
  1827.     there is no need to turn on and off the mouse for each element, i.e.
  1828.     nesting is applicable without any complications.
  1829.  
  1830.     Each E_MouseOff() must be accompanied by a corresponding E_MouseOn().
  1831.  
  1832.     As functions of the egsblit.library they have no information, if a
  1833.     screen is attached to their bitmap then they make no calls to E_MouseOn()
  1834.     E_MouseOff(). But as the functions in the egsgfx.library they
  1835.     are working on a rastport. They know which bitmap is associated with
  1836.     a screen, they make calls to E_MouseOff() E_MouseOn().
  1837.  
  1838.    INPUTS
  1839.     scr          - the screen where you intend to draw into
  1840.  
  1841.    RESULT
  1842.  
  1843.    SEE ALSO
  1844.     E_MouseOn(), E_MouseOffRect()
  1845.  
  1846.  
  1847. egs.library/E_MouseOffRect                         egs.library/E_MouseOffRect
  1848.  
  1849.    NAME
  1850.     E_MouseOffRect -- switch softwaremouse in rectangle off
  1851.  
  1852.    SYNOPSIS
  1853.     E_MouseOffRect(scr, rect)
  1854.                    A0   A1
  1855.  
  1856.     void E_MouseOffRect(E_EScreenPtr, E_ClipRectPtr)
  1857.  
  1858.    FUNCTION
  1859.     Defines a rectangular region of a screen as a mouse off region. If
  1860.     the mouse is located inside or is moved into the region, the software
  1861.     mouse cursor is turned off.
  1862.  
  1863.     The mouse is turned on by E_MouseOn().
  1864.  
  1865.     Several nested calls of E_MouseOffRect() will result in a mouse off
  1866.     region, that is the bounding box of all small regions.
  1867.  
  1868.    INPUTS
  1869.     scr          - the screen where you intend to draw into
  1870.     rect         - the rectangle where you intend to draw into
  1871.  
  1872.    RESULT
  1873.  
  1874.    SEE ALSO
  1875.     E_MouseOn(), E_MouseOff()
  1876.  
  1877.  
  1878. egs.library/E_MouseOn                                   egs.library/E_MouseOn
  1879.  
  1880.    NAME
  1881.     E_MouseOn -- Switch software mouse on
  1882.  
  1883.    SYNOPSIS
  1884.     E_MouseOn(scr)
  1885.               A0
  1886.  
  1887.     void E_MouseOn(E_EScreenPtr)
  1888.  
  1889.    FUNCTION
  1890.     Switches a software mouse on again. See E_MouseOff().
  1891.  
  1892.    INPUTS
  1893.     scr          - the screen where you switched the mouse off
  1894.  
  1895.    RESULT
  1896.  
  1897.    SEE ALSO
  1898.     E_MouseOff(), E_MouseOffRect()
  1899.  
  1900.  
  1901. egs.library/E_MoveMouse                               egs.library/E_MoveMouse
  1902.  
  1903.    NAME
  1904.     E_MoveMouse -- move the mousecursor on a screen
  1905.  
  1906.    SYNOPSIS
  1907.     E_MoveMouse(scr, x, y)
  1908.                 A0   D0 D1
  1909.  
  1910.     void E_MoveMouse(E_EScreenPtr, WORD, WORD)
  1911.  
  1912.    FUNCTION
  1913.     Moves the mousecursor to a particular location on the screen.
  1914.  
  1915.    NOTE
  1916.        It is not guaranteed, that this call will actually move the
  1917.     mouse, but it will do so in most cases, just do not rely on it. This
  1918.     call will also result in an EDCMP message to the screens port.
  1919.  
  1920.    INPUTS
  1921.     scr          - the screen where the mouse shall be move
  1922.     x            - horizontal destination location
  1923.     y            - vertical
  1924.  
  1925.    RESULT
  1926.  
  1927.    SEE ALSO
  1928.     E_ModifyMouse(), E_ScreenToFront(), E_SetUserFocus()
  1929.  
  1930.  
  1931. egs.library/E_NewMapType                             egs.library/E_NewMapType
  1932.  
  1933.    NAME
  1934.     E_NewMapType -- calculate a new bitmap type
  1935.  
  1936.    SYNOPSIS
  1937.     E_NewMapType()
  1938.  
  1939.  
  1940.     ULONG E_NewMapType(void)
  1941.  
  1942.    FUNCTION
  1943.     If you create a bitmap class, that is totaly different from all
  1944.     public bitmap classes, you have to get the bitmap type by calling
  1945.     this function. It will return a unique bitmap type id.
  1946.  
  1947.    INPUTS
  1948.  
  1949.    RESULT
  1950.     a new bitmap type id, or 0 if none is free
  1951.  
  1952.    SEE ALSO
  1953.     E_CreateSubClass(), "includes/egs/egs.h"
  1954.  
  1955.  
  1956. egs.library/E_ObtainClass                           egs.library/E_ObtainClass
  1957.  
  1958.    NAME
  1959.     E_ObtainClass -- obtain a class
  1960.  
  1961.    SYNOPSIS
  1962.     E_ObtainClass(class)
  1963.                   A0
  1964.  
  1965.     void E_ObtainClass(E_EGSClassPtr)
  1966.  
  1967.    FUNCTION
  1968.     Obtains a class for use. This guarantees, that the class is not
  1969.     deleted, until you release it again. Each call of E_ObtainClass()
  1970.     should have an associated E_ReleaseClass().
  1971.  
  1972.    INPUTS
  1973.     class        - the class you want to obtain
  1974.  
  1975.    RESULT
  1976.  
  1977.    SEE ALSO
  1978.     E_ReleaseClass(), E_ObtainPublicObject(), ObtainPublicClass()
  1979.  
  1980.  
  1981. egs.library/E_ObtainMonitorSpec               egs.library/E_ObtainMonitorSpec
  1982.  
  1983.    NAME
  1984.     E_ObtainMonitorSpec -- obtain a monitor spec by its name
  1985.  
  1986.    SYNOPSIS
  1987.     E_ObtainMonitorSpec(name)
  1988.                         A0
  1989.  
  1990.     E_MonitorSpecPtr E_ObtainMonitorSpec(char *)
  1991.  
  1992.    FUNCTION
  1993.     Obtains a monitor spec for your use. If the spec is not yet resident
  1994.     in the system, it is loaded from the "egs:monitors/specs" directory.
  1995.     You should call E_ReleaseMonitorSpec(), when you are done with it,
  1996.     to allow the system to remove it.
  1997.  
  1998.    INPUTS
  1999.     name         - the name of the monitor spec
  2000.  
  2001.    RESULT
  2002.     your desired monitor spec, or NULL if this failed
  2003.  
  2004.    SEE ALSO
  2005.     E_ReleaseMonitorSpec(), E_CreateMonitorSpecTags()
  2006.  
  2007.  
  2008. egs.library/E_ObtainObject                         egs.library/E_ObtainObject
  2009.  
  2010.    NAME
  2011.     E_ObtainObject -- obtain an object
  2012.  
  2013.    SYNOPSIS
  2014.     E_ObtainObject(obj)
  2015.                    A0
  2016.  
  2017.     void E_ObtainObject(E_PublicEGSObjectPtr)
  2018.  
  2019.    FUNCTION
  2020.     Obtains an object, so that it is protected from deletion until you
  2021.     release it again. This can only be done with objects that are of a
  2022.     subclass of the public object class.
  2023.  
  2024.    INPUTS
  2025.     obj          - the object you want to obtain
  2026.  
  2027.    RESULT
  2028.  
  2029.    SEE ALSO
  2030.     E_ReleaseObject(), E_ObtainPublicObject()
  2031.  
  2032.  
  2033. egs.library/E_ObtainObjectClass               egs.library/E_ObtainObjectClass
  2034.  
  2035.    NAME
  2036.     E_ObtainObjectClass -- obtain the class of an object
  2037.  
  2038.    SYNOPSIS
  2039.     E_ObtainObjectClass(obj)
  2040.                         A0
  2041.  
  2042.     E_EGSClassPtr E_ObtainObjectClass(E_EGSObjectPtr)
  2043.  
  2044.    FUNCTION
  2045.     Obtains the class of an object. If you are done with the class, you
  2046.     should release it with E_ReleaseClass().
  2047.  
  2048.    INPUTS
  2049.     obj          - the object you want to get the class
  2050.  
  2051.    RESULT
  2052.     a pointer to the objects class
  2053.  
  2054.    SEE ALSO
  2055.     E_ObtainClass(), E_ObtainPublicClass(), E_ReleaseClass()
  2056.  
  2057.  
  2058. egs.library/E_ObtainPublicClass               egs.library/E_ObtainPublicClass
  2059.  
  2060.    NAME
  2061.     E_ObtainPublicClass -- obtain a class by its name
  2062.  
  2063.    SYNOPSIS
  2064.     E_ObtainPublicClass(name)
  2065.                         D0
  2066.  
  2067.     E_EGSClassPtr E_ObtainPublicClass(E_Symbol)
  2068.  
  2069.    FUNCTION
  2070.     Looks for a class with the given name and obtains it.
  2071.  
  2072.     If the class isn't already resident in the system, the library
  2073.     attempts to load it from disk ("egs:egsclasses"). It will look for a
  2074.     file with the name of the class. This file can be either an EGS
  2075.     driver implementing the class, or a reference to a driver that
  2076.     implements a group of classes.           ###
  2077.  
  2078.    INPUTS
  2079.     name         - a symbol for the name of the class
  2080.  
  2081.    RESULT
  2082.     the pointer to the desired class, or NULL if it was not found.
  2083.  
  2084.    SEE ALSO
  2085.     E_ObtainClass(), E_ReleaseClass()
  2086.  
  2087.  
  2088. egs.library/E_ObtainPublicObject             egs.library/E_ObtainPublicObject
  2089.  
  2090.    NAME
  2091.     E_ObtainPublicObject -- obtains a public object
  2092.  
  2093.    SYNOPSIS
  2094.     E_ObtainPublicObject(name)
  2095.                          D0
  2096.  
  2097.     E_PublicEGSObjectPtr E_ObtainPublicObject(E_Symbol)
  2098.  
  2099.    FUNCTION
  2100.     Looks for a public object with the given name, and obtains it.
  2101.  
  2102.    INPUTS
  2103.     name         - a symbol given by the name of the object
  2104.  
  2105.    RESULT
  2106.     a pointer to the object, or NULL if it was not in the public
  2107.     dictionary.
  2108.  
  2109.    SEE ALSO
  2110.     E_ObtainObject(), E_ReleaseObject()
  2111.  
  2112.  
  2113. egs.library/E_ObtainScreenSpec                 egs.library/E_ObtainScreenSpec
  2114.  
  2115.    NAME
  2116.     E_ObtainScreenSpec -- obtain a screen spec
  2117.  
  2118.    SYNOPSIS
  2119.     E_ObtainScreenSpec(moni, name)
  2120.                        A0    A1
  2121.  
  2122.     E_ScreenSpecPtr E_ObtainScreenSpec(E_MonitorSpecPtr, char *)
  2123.  
  2124.    FUNCTION
  2125.     Exclusively obtains a screen spec structure, so it is protected from
  2126.     foreign modification.
  2127.  
  2128.    INPUTS
  2129.     moni         - the monitor the screen spec belongs to
  2130.     name         - the name of the screen spec
  2131.  
  2132.    RESULT
  2133.     a pointer to the screen spec structure
  2134.  
  2135.    SEE ALSO
  2136.     E_ReleaseScreenSpec(), E_ObtainMonitorSpec()
  2137.  
  2138.  
  2139. egs.library/E_OldWaitTOF                             egs.library/E_OldWaitTOF
  2140.  
  2141.    NAME
  2142.     E_OldWaitTOF -- obsolete
  2143.  
  2144.    SYNOPSIS
  2145.     E_OldWaitTOF()
  2146.  
  2147.  
  2148.     void E_OldWaitTOF(void)
  2149.  
  2150.    FUNCTION
  2151.  
  2152.    INPUTS
  2153.  
  2154.    RESULT
  2155.  
  2156.    SEE ALSO
  2157.  
  2158.  
  2159. egs.library/E_OpenScreen                             egs.library/E_OpenScreen
  2160.  
  2161.    NAME
  2162.     E_OpenScreen -- Open a screen
  2163.  
  2164.    SYNOPSIS
  2165.     E_OpenScreen(scr)
  2166.                  A0
  2167.  
  2168.     E_EScreenPtr E_OpenScreen(struct E_NewEScreen *)
  2169.  
  2170.    FUNCTION
  2171.     Opens a screen on a graphics board. This function allocates the bitmap,
  2172.     initializes a port if needed, and forces the video logic to display
  2173.     this screen. See also egsintui.library/EI_OpenScreen. This type of
  2174.     screen is not able to have windows or layers. The function requires
  2175.     an initialized E_NewScreen structure, that may be discarded
  2176.     afterwards. If an port is supplied this port has to be removed,
  2177.     before the screen is closed, or the message flags are set to none.
  2178.     The library creates an own port, if NULL is passed.
  2179.  
  2180.    INPUTS
  2181.     new         - Inizialised  E_NewScreen structure
  2182.  
  2183.    RESULT
  2184.     An opened screen if successfull else NULL. Reasons for failure may be
  2185.     unknown mode, not enough memory or unsupported depth.
  2186.  
  2187.    SEE ALSO
  2188.     E_OpenScreenTagList(), E_CloseScreen()
  2189.  
  2190.  
  2191. egs.library/E_OpenScreenTagList               egs.library/E_OpenScreenTagList
  2192.  
  2193.    NAME
  2194.     E_OpenScreenTagList -- extended open screen
  2195.  
  2196.    SYNOPSIS
  2197.     E_OpenScreenTagList(nscr, tags)
  2198.                         A0    A1
  2199.  
  2200.     E_EScreenPtr E_OpenScreenTagList(E_NewEScreenPtr, APTR)
  2201.  
  2202.    FUNCTION
  2203.     Opens a screen with additional parameters passed as a tag list.
  2204.  
  2205.    INPUTS
  2206.     nscr         - NULL or an E_NewEScreen structure
  2207.     tags         - modifying tags (see "includes/egs/egs.h EST_...)
  2208.  
  2209.    RESULT
  2210.     am open screen, or NULL if failed to open
  2211.  
  2212.    SEE ALSO
  2213.     E_OpenScreen(), E_CloseScreen()
  2214.  
  2215.  
  2216. egs.library/E_ReleaseClass                         egs.library/E_ReleaseClass
  2217.  
  2218.    NAME
  2219.     E_ReleaseClass -- release a class
  2220.  
  2221.    SYNOPSIS
  2222.     E_ReleaseClass(class)
  2223.                    A0
  2224.  
  2225.     void E_ReleaseClass(E_EGSClassPtr)
  2226.  
  2227.    FUNCTION
  2228.     Releases a class that was obtained by E_ObtainClass(),
  2229.     E_ObtainObjectClass(), E_ObtainPublicClass(). You may not use the
  2230.     class anymore after you released it.
  2231.  
  2232.    INPUTS
  2233.     class        - the class to release
  2234.  
  2235.    RESULT
  2236.  
  2237.    SEE ALSO
  2238.     E_ObtainClass(), E_ObtainObjectClass(), E_ObtainPublicClass(),
  2239.     E_ReleasePublicObject()
  2240.  
  2241.  
  2242. egs.library/E_ReleaseMonitorSpec             egs.library/E_ReleaseMonitorSpec
  2243.  
  2244.    NAME
  2245.     E_ReleaseMonitorSpec -- release a monitor spec
  2246.  
  2247.    SYNOPSIS
  2248.     E_ReleaseMonitorSpec(moni)
  2249.                          A0
  2250.  
  2251.     void E_ReleaseMonitorSpec(E_MonitorSpecPtr)
  2252.  
  2253.    FUNCTION
  2254.     Releases a monitor spec, that was obtained by E_ObtainMonitorSpec().
  2255.     You may not access the structure after you released it.
  2256.  
  2257.    INPUTS
  2258.     moni         - the monitor structure to release
  2259.  
  2260.    RESULT
  2261.  
  2262.    SEE ALSO
  2263.     E_ObtainMonitor(), E_ReleaseScreenSpec()
  2264.  
  2265.  
  2266. egs.library/E_ReleasePublicObject           egs.library/E_ReleasePublicObject
  2267.  
  2268.    NAME
  2269.     E_ReleasePublicObject -- release a public object
  2270.  
  2271.    SYNOPSIS
  2272.     E_ReleasePublicObject(obj)
  2273.                           A0
  2274.  
  2275.     void E_ReleasePublicObject(E_PublicEGSObjectPtr)
  2276.  
  2277.    FUNCTION
  2278.     Releases a public object that was obtained by E_ObtainObject() or
  2279.     E_ObtainPublicObject(). You may not use the object after you
  2280.     released it.
  2281.  
  2282.    INPUTS
  2283.     obj          - the object to release
  2284.  
  2285.    RESULT
  2286.  
  2287.    SEE ALSO
  2288.     E_ObtainPublicObject(), E_ObtainObject(), E_ReleaseClass()
  2289.  
  2290.  
  2291. egs.library/E_ReleaseScreenSpec               egs.library/E_ReleaseScreenSpec
  2292.  
  2293.    NAME
  2294.     E_ReleaseScreenSpec -- releases a screen spec structure
  2295.  
  2296.    SYNOPSIS
  2297.     E_ReleaseScreenSpec(spec)
  2298.                         A0
  2299.  
  2300.     void E_ReleaseScreenSpec(E_ScreenSpecPtr)
  2301.  
  2302.    FUNCTION
  2303.     Releases a screen spec structure back to public use.
  2304.  
  2305.    INPUTS
  2306.     spec         - the screen spec you had exclusively
  2307.  
  2308.    RESULT
  2309.  
  2310.    SEE ALSO
  2311.     E_ReleaseMonitorSpec(), E_ObtainScreenSpec()
  2312.  
  2313.  
  2314. egs.library/E_ReloadPrefs                           egs.library/E_ReloadPrefs
  2315.  
  2316.    NAME
  2317.     E_ReloadPrefs -- reload preference files
  2318.  
  2319.    SYNOPSIS
  2320.     E_ReloadPrefs()
  2321.  
  2322.  
  2323.     void E_ReloadPrefs(void)
  2324.  
  2325.    FUNCTION
  2326.     Reloads the EGS preferences files again, to represent the changes
  2327.     that where made.
  2328.  
  2329.    INPUTS
  2330.  
  2331.    RESULT
  2332.  
  2333.    SEE ALSO
  2334.  
  2335.  
  2336. egs.library/E_RemMonitorSpec                     egs.library/E_RemMonitorSpec
  2337.  
  2338.    NAME
  2339.     E_RemMonitorSpec -- remove a monitor spec from a driver
  2340.  
  2341.    SYNOPSIS
  2342.     E_RemMonitorSpec(driver, moni)
  2343.                      A0      A1
  2344.  
  2345.     void E_RemMonitorSpec(E_DisplayDriverPtr, E_MonitorSpecPtr)
  2346.  
  2347.    FUNCTION
  2348.     Removes a monitor spec from a driver. The driver will loose all
  2349.     screenmodes that where defined by this monitor specification.
  2350.  
  2351.    INPUTS
  2352.     driver       - the driver you want to remove from
  2353.     moni         - the spec you want to remove
  2354.  
  2355.    RESULT
  2356.  
  2357.    SEE ALSO
  2358.     E_AddMonitorSpec(), E_ObtainMonitorSpec(), E_DeleteMonitorSpec()
  2359.  
  2360.  
  2361. egs.library/E_RemVideoLink                         egs.library/E_RemVideoLink
  2362.  
  2363.    NAME
  2364.     E_RemVideoLink -- remove a link between video nodes
  2365.  
  2366.    SYNOPSIS
  2367.     E_RemVideoLink(from, to)
  2368.                    A0    A1
  2369.  
  2370.     void E_RemVideoLink(E_VideoNodePtr, E_VideoNodePtr)
  2371.  
  2372.    FUNCTION
  2373.     Removes a link between video node, that has previously be created by
  2374.     E_AddVideoLink().
  2375.  
  2376.    INPUTS
  2377.     from         - the source of the link
  2378.     to           - the drain of the link
  2379.  
  2380.    RESULT
  2381.  
  2382.    SEE ALSO
  2383.     E_AddVideoLink(), E_FindPublicVideoNode()
  2384.  
  2385.  
  2386. egs.library/E_RenameMonitorSpec               egs.library/E_RenameMonitorSpec
  2387.  
  2388.    NAME
  2389.     E_RenameMonitorSpec -- rename a monitor spec
  2390.  
  2391.    SYNOPSIS
  2392.     E_RenameMonitorSpec(moni, name)
  2393.                         A0    A1
  2394.  
  2395.     void E_RenameMonitorSpec(E_MonitorSpecPtr, char *)
  2396.  
  2397.    FUNCTION
  2398.     Renames a monitor spec to a new name. The name of the associated disk
  2399.     file is also changed.
  2400.  
  2401.    INPUTS
  2402.     moni         - the monitor spec to rename
  2403.     name         - the new name of the structure
  2404.  
  2405.    RESULT
  2406.  
  2407.    SEE ALSO
  2408.     E_CreateMonitorSpecTagList(), E_DeleteMonitorSpec()
  2409.  
  2410.  
  2411. egs.library/E_ResetMouseExcept                 egs.library/E_ResetMouseExcept
  2412.  
  2413.    NAME
  2414.     E_ResetMouseExcept -- remove an installed mouse except
  2415.  
  2416.    SYNOPSIS
  2417.     E_ResetMouseExcept()
  2418.  
  2419.  
  2420.     void E_ResetMouseExcept(void)
  2421.  
  2422.    FUNCTION
  2423.  
  2424.    INPUTS
  2425.  
  2426.    RESULT
  2427.  
  2428.    BUGS
  2429.     This is private !
  2430.  
  2431.    SEE ALSO
  2432.  
  2433.  
  2434. egs.library/E_SaveMonitorPrefs                 egs.library/E_SaveMonitorPrefs
  2435.  
  2436.    NAME
  2437.     E_SaveMonitorPrefs -- save the monitor prefs of a driver
  2438.  
  2439.    SYNOPSIS
  2440.     E_SaveMonitorPrefs(driver)
  2441.                        A0
  2442.  
  2443.     void E_SaveMonitorPrefs(E_DisplayDriverPtr)
  2444.  
  2445.    FUNCTION
  2446.     Saves the monitor preferences of a display driver to disk. This file
  2447.     contains references to monitor spec files, and will be used to build
  2448.     the screenmodes of the driver.
  2449.  
  2450.    INPUTS
  2451.     driver       - the driver to save its prefs
  2452.  
  2453.    RESULT
  2454.  
  2455.    SEE ALSO
  2456.     E_LoadMonitorPrefs(), E_AddMonitorSpec(), E_RemMonitorSpec()
  2457.  
  2458.  
  2459. egs.library/E_SaveMonitorSpec                   egs.library/E_SaveMonitorSpec
  2460.  
  2461.    NAME
  2462.     E_SaveMonitorSpec -- save a monitor spec to disk
  2463.  
  2464.    SYNOPSIS
  2465.     E_SaveMonitorSpec(moni)
  2466.                       A0
  2467.  
  2468.     void E_SaveMonitorSpec(E_MonitorSpecPtr)
  2469.  
  2470.    FUNCTION
  2471.     Saves a monitor spec structure to disk ("egs:monitors/specs").
  2472.  
  2473.    INPUTS
  2474.     moni         - the monitor spec to save
  2475.  
  2476.    RESULT
  2477.  
  2478.    SEE ALSO
  2479.     E_ObtainMonitorSpec(), E_RenameMonitorSpec(), E_DeleteMonitorSpec()
  2480.  
  2481.  
  2482. egs.library/E_ScreenToBack                         egs.library/E_ScreenToBack
  2483.  
  2484.    NAME
  2485.     E_ScreenToBack -- Moves a screen behind all others
  2486.  
  2487.    SYNOPSIS
  2488.     E_ScreenToBack(scr)
  2489.                    A0
  2490.  
  2491.     void E_ScreenToBack(E_EScreenPtr)
  2492.  
  2493.    FUNCTION
  2494.     Moves a screen behind all other screens of its monitor. Shows the
  2495.     next screen, if there are more then one.
  2496.  
  2497.    INPUTS
  2498.     scr          - the screen to rearrange
  2499.  
  2500.    RESULT
  2501.  
  2502.    SEE ALSO
  2503.     E_ScreenToFront(), E_SetUserFocus()
  2504.  
  2505.  
  2506. egs.library/E_ScreenToFront                       egs.library/E_ScreenToFront
  2507.  
  2508.    NAME
  2509.     E_ScreenToFront -- Moves a screen to front
  2510.  
  2511.    SYNOPSIS
  2512.     E_ScreenToFront(scr)
  2513.                     A0
  2514.  
  2515.     void E_ScreenToFront(E_EScreenPtr)
  2516.  
  2517.    FUNCTION
  2518.     Moves a screen in front of all other screens of its monitor, and
  2519.     displays the screen. This action may require several milliseconds,
  2520.     and may have flicker effects on the screen. For double buffering you
  2521.     should use E_FlipMap() instead.
  2522.  
  2523.     If you want to activate the screen, you should call
  2524.     E_SetUserFocus().
  2525.  
  2526.    INPUTS
  2527.     scr          - pointer to the screen
  2528.  
  2529.    RESULT
  2530.  
  2531.    SEE ALSO
  2532.     E_ScreenToBack(), E_SetUserFocus()
  2533.  
  2534.  
  2535. egs.library/E_SendEGSMsg                             egs.library/E_SendEGSMsg
  2536.  
  2537.    NAME
  2538.     E_SendEGSMsg -- send an EGS message
  2539.  
  2540.    SYNOPSIS
  2541.     E_SendEGSMsg(scr, x, y, class, code, qualifier, seconds, micros, doubleDead)
  2542.                  A0   D0 D1 D2     D3    D4         D5       D6      D7
  2543.  
  2544.     void E_SendEGSMsg(E_EScreenPtr, WORD, WORD, ULONG, UWORD, ULONG, ULONG, ULONG, LONG)
  2545.  
  2546.    FUNCTION
  2547.     Sends an EDCMP message to the port of a screen. This function is
  2548.     usefull for display driver implentor, that want to take controll over
  2549.     the mouse and other input streams.
  2550.  
  2551.    INPUTS
  2552.     scr          - the screen you control
  2553.     x            - x location of mouse
  2554.     y            - y location of mouse
  2555.     class        - edcmp flags
  2556.     code         - code field of input event
  2557.     qualifier    - key/mouse qualifiers
  2558.     seconds      - time stamp
  2559.     micros       -
  2560.     doubleDead   - double dead key block
  2561.  
  2562.    RESULT
  2563.  
  2564.    SEE ALSO
  2565.     E_MoveMouse(), E_ModifyEDCMP()
  2566.  
  2567.  
  2568. egs.library/E_SetMouseExcept                     egs.library/E_SetMouseExcept
  2569.  
  2570.    NAME
  2571.     E_SetMouseExcept --
  2572.  
  2573.    SYNOPSIS
  2574.     E_SetMouseExcept(callMe, data)
  2575.                      A0      A1
  2576.  
  2577.     void E_SetMouseExcept(APTR, APTR)
  2578.  
  2579.    FUNCTION
  2580.  
  2581.    INPUTS
  2582.     callMe       -
  2583.     data         -
  2584.  
  2585.    RESULT
  2586.  
  2587.    BUGS
  2588.     this one should be private
  2589.  
  2590.    SEE ALSO
  2591.  
  2592.  
  2593. egs.library/E_SetRGB8                                   egs.library/E_SetRGB8
  2594.  
  2595.    NAME
  2596.     E_SetRGB8 -- Modify an entry in a screens clut
  2597.  
  2598.    SYNOPSIS
  2599.     E_SetRGB8(scr, reg, red, green, blue)
  2600.               A0   D0   D1   D2     D3
  2601.  
  2602.     void E_SetRGB8(E_EScreenPtr, UWORD, UWORD, UWORD, UWORD)
  2603.  
  2604.    FUNCTION
  2605.     Modifies an entry in a screens color look up table. This should only
  2606.     be done in pseudo color modes, which have a look up table. In real
  2607.     color modes this modifies the gamma correction table. This function
  2608.     may wait for a screen blank, so do not use it to modify large areas
  2609.     of a clut, use E_SetRGB8CM().
  2610.  
  2611.     Depending on the screens bit depth up to 256 registers can be used.
  2612.     In 24 bit mode the CLUT may serve as gamma correction (see hardinfo
  2613.     flags).
  2614.  
  2615.    INPUTS
  2616.     reg          - register number to modify
  2617.     red,
  2618.     green,
  2619.     blue         - Color values
  2620.  
  2621.    RESULT
  2622.  
  2623.    SEE ALSO
  2624.     E_SetRGB8CM(), E_GetRGB8(), E_GetRGB8CM()
  2625.  
  2626.  
  2627. egs.library/E_SetRGB8CM                               egs.library/E_SetRGB8CM
  2628.  
  2629.    NAME
  2630.     E_SetRGB8CM -- Mofify several entries in a screens clut
  2631.  
  2632.    SYNOPSIS
  2633.     E_SetRGB8CM(scr, colors, start, num)
  2634.                 A0   A1      D0     D1
  2635.  
  2636.     void E_SetRGB8CM(E_EScreenPtr, E_CLUPtr, WORD, WORD)
  2637.  
  2638.    FUNCTION
  2639.     Copies a part of a color look up table in the screens clut. This
  2640.     function should be used, if there are several changes in a clut. It
  2641.     can take some time, because it updates all registers. So if there
  2642.     are changes at different areas in the clut, you should use
  2643.     E_GetRGB8CM() to get the full palette, then modify and E_SetRGB8CM()
  2644.     them back to the screen. You should not use this function to just
  2645.     make one change.
  2646.  
  2647.     The sum of start and num mey not exceed the number of available color
  2648.     registers.
  2649.  
  2650.    INPUTS
  2651.     colors       - buffer from which to take the colors
  2652.     start        - first register to modify
  2653.     num          - number of registers to modify
  2654.  
  2655.    RESULT
  2656.  
  2657.    SEE ALSO
  2658.     E_SetRGB8(), E_GetRGB8(), E_GetRGB8CM()
  2659.  
  2660.  
  2661. egs.library/E_SetUserFocus                         egs.library/E_SetUserFocus
  2662.  
  2663.    NAME
  2664.     E_SetUserFocus -- define the active screen
  2665.  
  2666.    SYNOPSIS
  2667.     E_SetUserFocus(scr)
  2668.                    A0
  2669.  
  2670.     void E_SetUserFocus(E_EScreenPtr)
  2671.  
  2672.    FUNCTION
  2673.     This function attempts to make your screen the active one. It will
  2674.     put it to front, and also puts the mouse onto it. You should use this
  2675.     call very carefully, it might confuse the user, to loose his mouse
  2676.     cursor..
  2677.  
  2678.    INPUTS
  2679.     scr          - the screen to become the active one
  2680.  
  2681.    RESULT
  2682.  
  2683.    SEE ALSO
  2684.     E_CrossMouseBorder(), E_ScreenToFront()
  2685.  
  2686.  
  2687. egs.library/E_UnlockEGSVideo                     egs.library/E_UnlockEGSVideo
  2688.  
  2689.    NAME
  2690.     E_UnlockEGSVideo -- unlock the EGS display system
  2691.  
  2692.    SYNOPSIS
  2693.     E_UnlockEGSVideo()
  2694.  
  2695.  
  2696.     void E_UnlockEGSVideo(void)
  2697.  
  2698.    FUNCTION
  2699.     Unlocks the EGS display system, see E_LockEGSVideo()
  2700.  
  2701.    INPUTS
  2702.  
  2703.    RESULT
  2704.  
  2705.    SEE ALSO
  2706.     E_LockEGSVideo()
  2707.  
  2708.  
  2709. egs.library/E_WaitTOF                                   egs.library/E_WaitTOF
  2710.  
  2711.    NAME
  2712.     E_WaitTOF -- Wait for TOF
  2713.  
  2714.    SYNOPSIS
  2715.     E_WaitTOF(scr)
  2716.               A0
  2717.  
  2718.     void E_WaitTOF(E_EScreenPtr)
  2719.  
  2720.    FUNCTION
  2721.     Sets the calling task to wait, until a vertical blank interrupt
  2722.     occurs. To be shure to get the cpu in the VBlank you should change
  2723.     your task priority to a high level.
  2724.  
  2725.     If the used graphicsboard does not support an vertical blank
  2726.     interrupt (see E_HardInfo) this call will have no effect and will
  2727.     return immediately.
  2728.  
  2729.    INPUTS
  2730.     scr          - the screen, to wait on vertical blank
  2731.  
  2732.    RESULT
  2733.  
  2734.    SEE ALSO
  2735.  
  2736.  
  2737. egs.library/E_WhichMonitor                         egs.library/E_WhichMonitor
  2738.  
  2739.    NAME
  2740.     E_WhichMonitor -- find a screens monitor
  2741.  
  2742.    SYNOPSIS
  2743.     E_WhichMonitor(scr)
  2744.                    A0
  2745.  
  2746.     E_MonitorPtr E_WhichMonitor(E_EScreenPtr)
  2747.  
  2748.    FUNCTION
  2749.     Determines the monitor a screen is currently displayed on. If the
  2750.     screen is displayed on more than one monitor, you will get the first
  2751.     one in the list.
  2752.  
  2753.    INPUTS
  2754.     scr          - the screen to look for
  2755.  
  2756.    RESULT
  2757.     a pointer to the monitor, or NULL if the screen is not currently
  2758.     displayed.
  2759.  
  2760.    SEE ALSO
  2761.     E_WhichScreen(), E_LinkVideoNodes()
  2762.  
  2763.  
  2764. egs.library/E_WhichScreen                           egs.library/E_WhichScreen
  2765.  
  2766.    NAME
  2767.     E_WhichScreen -- find a monitors screen
  2768.  
  2769.    SYNOPSIS
  2770.     E_WhichScreen(moni)
  2771.                   A0
  2772.  
  2773.     E_EScreenPtr E_WhichScreen(E_MonitorPtr)
  2774.  
  2775.    FUNCTION
  2776.     Determines the screen, that is currently displayed on this monitor.
  2777.  
  2778.    INPUTS
  2779.     moni         - the monitor to look for
  2780.  
  2781.    RESULT
  2782.     a pointer to the screen, or NULL if no screen is currently displayed
  2783.     on the monitor
  2784.  
  2785.    SEE ALSO
  2786.     E_WhichMonitor(), E_LinkVideoNodes()
  2787.  
  2788.  
  2789. egs.library/E_isSubClass                             egs.library/E_isSubClass
  2790.  
  2791.    NAME
  2792.     E_isSubClass -- checks if a class is a subclass
  2793.  
  2794.    SYNOPSIS
  2795.     E_isSubClass(class, of)
  2796.                  A0     A1
  2797.  
  2798.     BOOL E_isSubClass(E_EGSClassPtr, E_EGSClassPtr)
  2799.  
  2800.    FUNCTION
  2801.     Checks if a class is a subclass of an other class.
  2802.  
  2803.    INPUTS
  2804.     class        - the subclass
  2805.     of           - the superclass
  2806.  
  2807.    RESULT
  2808.     TRUE if class is a subclass of of
  2809.  
  2810.    SEE ALSO
  2811.     E_isSubType(), E_CreateSubClass()
  2812.  
  2813.  
  2814. egs.library/E_isSubType                               egs.library/E_isSubType
  2815.  
  2816.    NAME
  2817.     E_isSubType -- checks if an object is of a specific class
  2818.  
  2819.    SYNOPSIS
  2820.     E_isSubType(obj, of)
  2821.                 A0   A1
  2822.  
  2823.     BOOL E_isSubType(E_EGSObjectPtr, E_EGSClassPtr)
  2824.  
  2825.    FUNCTION
  2826.     Checks if an objects class is a subclass of an other class.
  2827.  
  2828.    INPUTS
  2829.     obj          - the object to check
  2830.     of           - the subclass
  2831.  
  2832.    RESULT
  2833.     TRUE if the objects class is a subclass, FALSE else
  2834.  
  2835.    SEE ALSO
  2836.  
  2837.  
  2838.